@salla.sa/twilight-components 2.14.470 → 2.14.472

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 (494) hide show
  1. package/dist/cjs/{filepond-jdX95qxM.js → filepond-Cy1e6Ro5.js} +1 -1
  2. package/dist/cjs/{filepond-plugin-file-poster-DC9ozntr.js → filepond-plugin-file-poster-CLtWPKuV.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-validate-size-DxUUyj2Z.js → filepond-plugin-file-validate-size-VaxUnQB7.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-type-DB4YCfw-.js → filepond-plugin-file-validate-type-qjNEM_4Q.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-image-edit-QlnXOcNf.js → filepond-plugin-image-edit-DZdFIpzD.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-exif-orientation-D6HJ47N2.js → filepond-plugin-image-exif-orientation-CMDdMoTf.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-preview-DCaj9jNI.js → filepond-plugin-image-preview-CckneKBe.js} +1 -1
  8. package/dist/cjs/{functions-C_kzehHT.js → functions-DDLs9J1M.js} +1 -1
  9. package/dist/cjs/{index-CmPl0fIy.js → index-BLZPuy15.js} +10 -14
  10. package/dist/cjs/{index-SIy6bIWx.js → index-MGCYfYcr.js} +1 -1
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/salla-accordion-body_2.cjs.entry.js +4 -4
  13. package/dist/cjs/salla-accordion_6.cjs.entry.js +24 -8
  14. package/dist/cjs/salla-add-product-button_5.cjs.entry.js +422 -49
  15. package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
  16. package/dist/cjs/salla-alert_2.cjs.entry.js +4 -4
  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 +2 -2
  20. package/dist/cjs/salla-booking-field_7.cjs.entry.js +18 -18
  21. package/dist/cjs/salla-bullet-delivery_2.cjs.entry.js +5 -5
  22. package/dist/cjs/salla-cart-coupons.cjs.entry.js +2 -2
  23. package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +2 -2
  24. package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-comment-form_8.cjs.entry.js +5 -5
  26. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-count-down.cjs.entry.js +2 -2
  30. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  31. package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-filters-widget.cjs.entry.js +3 -3
  34. package/dist/cjs/salla-filters.cjs.entry.js +2 -2
  35. package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-gifting.cjs.entry.js +3 -3
  37. package/dist/cjs/salla-hook.cjs.entry.js +2 -2
  38. package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-list-tile.cjs.entry.js +2 -2
  41. package/dist/cjs/salla-localization-modal.cjs.entry.js +2 -2
  42. package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
  43. package/dist/cjs/salla-loyalty-banner.cjs.entry.js +2 -2
  44. package/dist/cjs/salla-loyalty-hero_2.cjs.entry.js +9 -9
  45. package/dist/cjs/salla-loyalty-panel.cjs.entry.js +3 -3
  46. package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
  47. package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +2 -2
  48. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +2 -2
  49. package/dist/cjs/salla-loyalty-program.cjs.entry.js +3 -3
  50. package/dist/cjs/salla-loyalty-reward.cjs.entry.js +4 -4
  51. package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
  52. package/dist/cjs/salla-maintenance-alert.cjs.entry.js +2 -2
  53. package/dist/cjs/{salla-map.cjs.entry.js → salla-map_2.cjs.entry.js} +70 -4
  54. package/dist/cjs/salla-menu.cjs.entry.js +1 -1
  55. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  56. package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +4 -4
  57. package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +6 -6
  58. package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +2 -2
  59. package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
  60. package/dist/cjs/salla-notification-item.cjs.entry.js +2 -2
  61. package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
  62. package/dist/cjs/salla-offer-modal.cjs.entry.js +2 -2
  63. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  64. package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
  65. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  66. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  67. package/dist/cjs/salla-order-details.cjs.entry.js +2 -2
  68. package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
  69. package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +2 -2
  70. package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
  71. package/dist/cjs/{salla-product-card_2.cjs.entry.js → salla-order-options-modal_3.cjs.entry.js} +209 -6
  72. package/dist/cjs/salla-order-summary.cjs.entry.js +2 -2
  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 +3 -3
  76. package/dist/cjs/salla-placeholder.cjs.entry.js +2 -2
  77. package/dist/cjs/salla-price-range.cjs.entry.js +3 -3
  78. package/dist/cjs/salla-product-card-embed.cjs.entry.js +2 -2
  79. package/dist/cjs/salla-product-size-guide.cjs.entry.js +3 -3
  80. package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
  81. package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
  82. package/dist/cjs/salla-rating-modal.cjs.entry.js +1 -1
  83. package/dist/cjs/salla-reward-action_4.cjs.entry.js +10 -10
  84. package/dist/cjs/salla-scopes.cjs.entry.js +2 -2
  85. package/dist/cjs/salla-search.cjs.entry.js +6 -6
  86. package/dist/cjs/salla-skeleton.cjs.entry.js +2 -2
  87. package/dist/cjs/salla-slider.cjs.entry.js +1 -1
  88. package/dist/cjs/salla-social-share.cjs.entry.js +2 -2
  89. package/dist/cjs/salla-social.cjs.entry.js +2 -2
  90. package/dist/cjs/salla-tab-content_3.cjs.entry.js +4 -4
  91. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  92. package/dist/cjs/salla-tooltip.cjs.entry.js +2 -2
  93. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
  94. package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
  95. package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
  96. package/dist/cjs/salla-user-settings.cjs.entry.js +2 -2
  97. package/dist/cjs/salla-verify.cjs.entry.js +1 -1
  98. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  99. package/dist/cjs/salla-wishlist-actions.cjs.entry.js +2 -2
  100. package/dist/cjs/{tracked-promise-D-gQXgPZ.js → tracked-promise-B-bFT1y-.js} +1 -1
  101. package/dist/cjs/twilight.cjs.js +2 -2
  102. package/dist/cjs/{vanilla-picker-CZ_8m6i_.js → vanilla-picker-CP29RTHf.js} +1 -1
  103. package/dist/collection/collection-manifest.json +1 -0
  104. package/dist/collection/components/salla-accordion/salla-accordion-body.js +1 -1
  105. package/dist/collection/components/salla-accordion/salla-accordion-head.js +2 -2
  106. package/dist/collection/components/salla-accordion/salla-accordion.js +1 -1
  107. package/dist/collection/components/salla-add-product-button/salla-add-product-button.js +10 -0
  108. package/dist/collection/components/salla-alert/salla-alert.js +1 -1
  109. package/dist/collection/components/salla-badge/salla-badge.js +1 -1
  110. package/dist/collection/components/salla-booking-field/salla-booking-field.js +1 -1
  111. package/dist/collection/components/salla-bottom-alert/salla-bottom-alert.js +2 -2
  112. package/dist/collection/components/salla-breadcrumb/salla-breadcrumb.js +21 -5
  113. package/dist/collection/components/salla-cart-coupons/salla-cart-coupons.js +1 -1
  114. package/dist/collection/components/salla-cart-summary/salla-cart-summary.js +1 -1
  115. package/dist/collection/components/salla-color-picker/salla-color-picker.js +1 -1
  116. package/dist/collection/components/salla-comment-form/salla-comment-form.js +1 -1
  117. package/dist/collection/components/salla-conditional-fields/salla-conditional-fields.js +1 -1
  118. package/dist/collection/components/salla-count-down/salla-count-down.js +1 -1
  119. package/dist/collection/components/salla-datetime-picker/salla-datetime-picker.js +1 -1
  120. package/dist/collection/components/salla-file-upload/salla-file-upload.js +2 -2
  121. package/dist/collection/components/salla-filters/salla-filters.js +1 -1
  122. package/dist/collection/components/salla-filters-widget/salla-filters-widget.js +2 -2
  123. package/dist/collection/components/salla-gifting/salla-gifting.js +2 -2
  124. package/dist/collection/components/salla-hook/salla-hook.js +1 -1
  125. package/dist/collection/components/salla-list-tile/salla-list-tile.js +1 -1
  126. package/dist/collection/components/salla-loading/salla-loading.js +1 -1
  127. package/dist/collection/components/salla-localization-modal/salla-localization-modal.js +1 -1
  128. package/dist/collection/components/salla-loyalty/salla-loyalty-prize-item.js +1 -1
  129. package/dist/collection/components/salla-loyalty-points-history/salla-loyalty-points-history.js +1 -1
  130. package/dist/collection/components/salla-loyalty-program/salla-loyalty-hero.js +3 -3
  131. package/dist/collection/components/salla-loyalty-program/salla-loyalty-point.js +4 -4
  132. package/dist/collection/components/salla-loyalty-program/salla-loyalty-reward.js +2 -2
  133. package/dist/collection/components/salla-loyalty-program/salla-reward-card.js +1 -1
  134. package/dist/collection/components/salla-loyalty-program/salla-reward-details.js +3 -3
  135. package/dist/collection/components/salla-loyalty-program/salla-reward-exchange.js +3 -3
  136. package/dist/collection/components/salla-maintenance-alert/salla-maintenance-alert.js +1 -1
  137. package/dist/collection/components/salla-map/salla-map.js +3 -3
  138. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-cart.js +1 -1
  139. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-details.js +2 -2
  140. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-options-modal.js +4 -4
  141. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-slider.js +1 -1
  142. package/dist/collection/components/salla-multiple-bundle-product/salla-multiple-bundle-product.js +1 -1
  143. package/dist/collection/components/salla-notifications/salla-notification-item.js +1 -1
  144. package/dist/collection/components/salla-offer-modal/salla-offer-modal.js +1 -1
  145. package/dist/collection/components/salla-order-details/salla-order-details.js +1 -1
  146. package/dist/collection/components/salla-order-edit/salla-order-edit-product-card.js +1 -1
  147. package/dist/collection/components/salla-order-options-modal/apple-pay-order-options.js +84 -0
  148. package/dist/collection/components/salla-order-options-modal/order-options-gate.js +136 -0
  149. package/dist/collection/components/salla-order-options-modal/salla-order-options-modal.css +35 -0
  150. package/dist/collection/components/salla-order-options-modal/salla-order-options-modal.js +282 -0
  151. package/dist/collection/components/salla-order-summary/salla-order-summary.js +1 -1
  152. package/dist/collection/components/salla-payments/salla-payments.js +2 -2
  153. package/dist/collection/components/salla-placeholder/salla-placeholder.js +1 -1
  154. package/dist/collection/components/salla-price-range/salla-price-range.js +2 -2
  155. package/dist/collection/components/salla-product-availability/salla-product-availability.js +1 -1
  156. package/dist/collection/components/salla-product-card/salla-product-card.js +5 -5
  157. package/dist/collection/components/salla-product-card-embed/salla-product-card-embed.js +1 -1
  158. package/dist/collection/components/salla-product-options/availability-utils.js +54 -0
  159. package/dist/collection/components/salla-product-options/salla-product-options.js +105 -31
  160. package/dist/collection/components/salla-product-size-guide/salla-product-size-guide.js +2 -2
  161. package/dist/collection/components/salla-quantity-input/salla-quantity-input.js +1 -1
  162. package/dist/collection/components/salla-quick-buy/salla-quick-buy.js +70 -16
  163. package/dist/collection/components/salla-review-card/salla-review-card.js +1 -1
  164. package/dist/collection/components/salla-reviews/salla-reviews.js +1 -1
  165. package/dist/collection/components/salla-reviews-page/salla-reviews-page.js +1 -1
  166. package/dist/collection/components/salla-scopes/salla-scopes.js +1 -1
  167. package/dist/collection/components/salla-search/salla-search.js +5 -5
  168. package/dist/collection/components/salla-searchable-dropdown/salla-searchable-dropdown.js +4 -4
  169. package/dist/collection/components/salla-skeleton/salla-skeleton.js +1 -1
  170. package/dist/collection/components/salla-social/salla-social.js +1 -1
  171. package/dist/collection/components/salla-social-share/salla-social-share.js +1 -1
  172. package/dist/collection/components/salla-tabs/salla-tab-content.js +1 -1
  173. package/dist/collection/components/salla-tabs/salla-tab-header.js +1 -1
  174. package/dist/collection/components/salla-tabs/salla-tabs.js +1 -1
  175. package/dist/collection/components/salla-tel-input/salla-tel-input.js +1 -1
  176. package/dist/collection/components/salla-tooltip/salla-tooltip.js +1 -1
  177. package/dist/collection/components/salla-user-settings/salla-user-settings.js +1 -1
  178. package/dist/collection/components/salla-wishlist-actions/salla-wishlist-actions.js +1 -1
  179. package/dist/components/index.js +2 -2
  180. package/dist/components/index2.js +2540 -1699
  181. package/dist/components/index3.js +1699 -2540
  182. package/dist/components/location.js +2 -2
  183. package/dist/components/salla-accordion-body2.js +1 -1
  184. package/dist/components/salla-accordion-head2.js +2 -2
  185. package/dist/components/salla-accordion2.js +1 -1
  186. package/dist/components/salla-add-product-button2.js +205 -8
  187. package/dist/components/salla-alert.js +1 -1
  188. package/dist/components/salla-badge2.js +1 -1
  189. package/dist/components/salla-booking-field2.js +1 -1
  190. package/dist/components/salla-bottom-alert.js +2 -2
  191. package/dist/components/salla-breadcrumb.js +21 -5
  192. package/dist/components/salla-bullet-delivery.js +3 -3
  193. package/dist/components/salla-cart-coupons.js +1 -1
  194. package/dist/components/salla-cart-summary.js +1 -1
  195. package/dist/components/salla-color-picker2.js +1 -1
  196. package/dist/components/salla-comment-form2.js +1 -1
  197. package/dist/components/salla-conditional-fields2.js +1 -1
  198. package/dist/components/salla-count-down2.js +1 -1
  199. package/dist/components/salla-datetime-picker2.js +2 -2
  200. package/dist/components/salla-file-upload2.js +2 -2
  201. package/dist/components/salla-filters-widget2.js +2 -2
  202. package/dist/components/salla-filters.js +1 -1
  203. package/dist/components/salla-gifting.js +2 -2
  204. package/dist/components/salla-hook.js +1 -1
  205. package/dist/components/salla-list-tile2.js +1 -1
  206. package/dist/components/salla-loading2.js +1 -1
  207. package/dist/components/salla-localization-modal.js +1 -1
  208. package/dist/components/salla-loyalty-hero2.js +3 -3
  209. package/dist/components/salla-loyalty-panel.js +66 -18
  210. package/dist/components/salla-loyalty-point2.js +6 -6
  211. package/dist/components/salla-loyalty-points-history.js +1 -1
  212. package/dist/components/salla-loyalty-prize-item.js +1 -1
  213. package/dist/components/salla-loyalty-program.js +68 -20
  214. package/dist/components/salla-loyalty-reward.js +2 -2
  215. package/dist/components/salla-maintenance-alert.js +1 -1
  216. package/dist/components/salla-map2.js +4 -4
  217. package/dist/components/salla-multiple-bundle-product-cart2.js +1 -1
  218. package/dist/components/salla-multiple-bundle-product-details2.js +2 -2
  219. package/dist/components/salla-multiple-bundle-product-options-modal2.js +4 -4
  220. package/dist/components/salla-multiple-bundle-product-slider2.js +1 -1
  221. package/dist/components/salla-multiple-bundle-product.js +1 -1
  222. package/dist/components/salla-notification-item2.js +1 -1
  223. package/dist/components/salla-offer-modal.js +65 -17
  224. package/dist/components/salla-order-details.js +1 -1
  225. package/dist/components/salla-order-edit-product-card.js +1 -1
  226. package/dist/components/salla-order-options-modal.d.ts +11 -0
  227. package/dist/components/salla-order-options-modal.js +9 -0
  228. package/dist/components/salla-order-options-modal2.js +303 -0
  229. package/dist/components/salla-order-summary.js +1 -1
  230. package/dist/components/salla-payments.js +2 -2
  231. package/dist/components/salla-placeholder2.js +1 -1
  232. package/dist/components/salla-price-range2.js +2 -2
  233. package/dist/components/salla-product-availability2.js +1 -1
  234. package/dist/components/salla-product-card-embed.js +1 -1
  235. package/dist/components/salla-product-card2.js +65 -17
  236. package/dist/components/salla-product-options2.js +120 -30
  237. package/dist/components/salla-product-size-guide.js +2 -2
  238. package/dist/components/salla-products-slider2.js +62 -14
  239. package/dist/components/salla-quantity-input2.js +1 -1
  240. package/dist/components/salla-quick-buy2.js +233 -18
  241. package/dist/components/salla-review-card2.js +1 -1
  242. package/dist/components/salla-reviews-page.js +1 -1
  243. package/dist/components/salla-reviews.js +1 -1
  244. package/dist/components/salla-reward-card2.js +1 -1
  245. package/dist/components/salla-reward-details2.js +67 -19
  246. package/dist/components/salla-reward-exchange2.js +3 -3
  247. package/dist/components/salla-scopes.js +1 -1
  248. package/dist/components/salla-search.js +5 -5
  249. package/dist/components/salla-searchable-dropdown2.js +4 -4
  250. package/dist/components/salla-skeleton2.js +1 -1
  251. package/dist/components/salla-social-share2.js +1 -1
  252. package/dist/components/salla-social.js +1 -1
  253. package/dist/components/salla-tab-content2.js +1 -1
  254. package/dist/components/salla-tab-header2.js +1 -1
  255. package/dist/components/salla-tabs2.js +1 -1
  256. package/dist/components/salla-tel-input2.js +2 -2
  257. package/dist/components/salla-tooltip2.js +1 -1
  258. package/dist/components/salla-user-settings.js +1 -1
  259. package/dist/components/salla-wishlist-actions.js +1 -1
  260. package/dist/esm/{filepond-DLJR7kqO.js → filepond-BOdFx-k4.js} +1 -1
  261. package/dist/esm/{filepond-plugin-file-poster-BPPxfj_a.js → filepond-plugin-file-poster-B0plGjbP.js} +1 -1
  262. package/dist/esm/{filepond-plugin-file-validate-size-CCqZAz2o.js → filepond-plugin-file-validate-size-BFnLP4vL.js} +1 -1
  263. package/dist/esm/{filepond-plugin-file-validate-type-YEjyqpU3.js → filepond-plugin-file-validate-type-CKf0Z8YX.js} +1 -1
  264. package/dist/esm/{filepond-plugin-image-edit-tiyoM7iJ.js → filepond-plugin-image-edit-lPLGnaWD.js} +1 -1
  265. package/dist/esm/{filepond-plugin-image-exif-orientation-CESSG4q3.js → filepond-plugin-image-exif-orientation-ad7mrSt5.js} +1 -1
  266. package/dist/esm/{filepond-plugin-image-preview-CTrGLHaX.js → filepond-plugin-image-preview-D5dtrQjv.js} +1 -1
  267. package/dist/esm/{functions-iGPmc3ui.js → functions-nnPBSJY6.js} +1 -1
  268. package/dist/esm/{index-pj-XyI3U.js → index-BtIvUNme.js} +1 -1
  269. package/dist/esm/{index-Dckjjczv.js → index-CjnbnAFU.js} +10 -14
  270. package/dist/esm/loader.js +3 -3
  271. package/dist/esm/salla-accordion-body_2.entry.js +4 -4
  272. package/dist/esm/salla-accordion_6.entry.js +24 -8
  273. package/dist/esm/salla-add-product-button_5.entry.js +422 -49
  274. package/dist/esm/salla-advertisement.entry.js +1 -1
  275. package/dist/esm/salla-alert_2.entry.js +4 -4
  276. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  277. package/dist/esm/salla-apps-icons.entry.js +1 -1
  278. package/dist/esm/salla-badge.entry.js +2 -2
  279. package/dist/esm/salla-booking-field_7.entry.js +18 -18
  280. package/dist/esm/salla-bullet-delivery_2.entry.js +5 -5
  281. package/dist/esm/salla-cart-coupons.entry.js +2 -2
  282. package/dist/esm/salla-cart-item-offers_2.entry.js +2 -2
  283. package/dist/esm/salla-cashback-banner.entry.js +1 -1
  284. package/dist/esm/salla-comment-form_8.entry.js +5 -5
  285. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  286. package/dist/esm/salla-contacts.entry.js +1 -1
  287. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  288. package/dist/esm/salla-count-down.entry.js +2 -2
  289. package/dist/esm/salla-custom-fields.entry.js +1 -1
  290. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  291. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  292. package/dist/esm/salla-filters-widget.entry.js +3 -3
  293. package/dist/esm/salla-filters.entry.js +2 -2
  294. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  295. package/dist/esm/salla-gifting.entry.js +3 -3
  296. package/dist/esm/salla-hook.entry.js +2 -2
  297. package/dist/esm/salla-infinite-scroll.entry.js +1 -1
  298. package/dist/esm/salla-installment.entry.js +1 -1
  299. package/dist/esm/salla-list-tile.entry.js +2 -2
  300. package/dist/esm/salla-localization-modal.entry.js +2 -2
  301. package/dist/esm/salla-login-modal.entry.js +1 -1
  302. package/dist/esm/salla-loyalty-banner.entry.js +2 -2
  303. package/dist/esm/salla-loyalty-hero_2.entry.js +9 -9
  304. package/dist/esm/salla-loyalty-panel.entry.js +3 -3
  305. package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
  306. package/dist/esm/salla-loyalty-points-history.entry.js +2 -2
  307. package/dist/esm/salla-loyalty-prize-item.entry.js +2 -2
  308. package/dist/esm/salla-loyalty-program.entry.js +3 -3
  309. package/dist/esm/salla-loyalty-reward.entry.js +4 -4
  310. package/dist/esm/salla-loyalty.entry.js +1 -1
  311. package/dist/esm/salla-maintenance-alert.entry.js +2 -2
  312. package/dist/esm/{salla-map.entry.js → salla-map_2.entry.js} +70 -5
  313. package/dist/esm/salla-menu.entry.js +1 -1
  314. package/dist/esm/salla-metadata.entry.js +1 -1
  315. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +4 -4
  316. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +6 -6
  317. package/dist/esm/salla-multiple-bundle-product.entry.js +2 -2
  318. package/dist/esm/salla-next-order-coupon.entry.js +1 -1
  319. package/dist/esm/salla-notification-item.entry.js +2 -2
  320. package/dist/esm/salla-notifications.entry.js +1 -1
  321. package/dist/esm/salla-offer-modal.entry.js +2 -2
  322. package/dist/esm/salla-offer.entry.js +1 -1
  323. package/dist/esm/salla-order-branch.entry.js +1 -1
  324. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  325. package/dist/esm/salla-order-details-options.entry.js +1 -1
  326. package/dist/esm/salla-order-details.entry.js +2 -2
  327. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  328. package/dist/esm/salla-order-edit-product-card.entry.js +2 -2
  329. package/dist/esm/salla-order-edit.entry.js +1 -1
  330. package/dist/esm/{salla-product-card_2.entry.js → salla-order-options-modal_3.entry.js} +209 -7
  331. package/dist/esm/salla-order-summary.entry.js +2 -2
  332. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  333. package/dist/esm/salla-orders.entry.js +1 -1
  334. package/dist/esm/salla-payments.entry.js +3 -3
  335. package/dist/esm/salla-placeholder.entry.js +2 -2
  336. package/dist/esm/salla-price-range.entry.js +3 -3
  337. package/dist/esm/salla-product-card-embed.entry.js +2 -2
  338. package/dist/esm/salla-product-size-guide.entry.js +3 -3
  339. package/dist/esm/salla-products-list.entry.js +1 -1
  340. package/dist/esm/salla-quick-order.entry.js +1 -1
  341. package/dist/esm/salla-rating-modal.entry.js +1 -1
  342. package/dist/esm/salla-reward-action_4.entry.js +10 -10
  343. package/dist/esm/salla-scopes.entry.js +2 -2
  344. package/dist/esm/salla-search.entry.js +6 -6
  345. package/dist/esm/salla-skeleton.entry.js +2 -2
  346. package/dist/esm/salla-slider.entry.js +1 -1
  347. package/dist/esm/salla-social-share.entry.js +2 -2
  348. package/dist/esm/salla-social.entry.js +2 -2
  349. package/dist/esm/salla-tab-content_3.entry.js +4 -4
  350. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  351. package/dist/esm/salla-tooltip.entry.js +2 -2
  352. package/dist/esm/salla-trust-badges.entry.js +1 -1
  353. package/dist/esm/salla-user-menu.entry.js +1 -1
  354. package/dist/esm/salla-user-profile.entry.js +1 -1
  355. package/dist/esm/salla-user-settings.entry.js +2 -2
  356. package/dist/esm/salla-verify.entry.js +1 -1
  357. package/dist/esm/salla-wallet.entry.js +1 -1
  358. package/dist/esm/salla-wishlist-actions.entry.js +2 -2
  359. package/dist/esm/{tracked-promise-CfOFv_ZQ.js → tracked-promise-DxK5ancc.js} +1 -1
  360. package/dist/esm/twilight.js +3 -3
  361. package/dist/esm/{vanilla-picker-BwAhzkb2.js → vanilla-picker-BNKvceoq.js} +1 -1
  362. package/dist/twilight/{p-193f4672.entry.js → p-01995780.entry.js} +1 -1
  363. package/dist/twilight/{p-46b75509.entry.js → p-02822e9f.entry.js} +1 -1
  364. package/dist/twilight/p-080444bb.entry.js +4 -0
  365. package/dist/twilight/{p-e573c23d.entry.js → p-0d01c327.entry.js} +1 -1
  366. package/dist/twilight/{p-9ac3d874.entry.js → p-0dcb8111.entry.js} +1 -1
  367. package/dist/twilight/p-129c20ed.entry.js +4 -0
  368. package/dist/twilight/{p-e2e38f7d.entry.js → p-15541ca3.entry.js} +1 -1
  369. package/dist/twilight/p-155d4693.entry.js +4 -0
  370. package/dist/twilight/{p-85d1767d.entry.js → p-1982cd13.entry.js} +1 -1
  371. package/dist/twilight/{p-b1d439e7.entry.js → p-1b8c59cf.entry.js} +1 -1
  372. package/dist/twilight/{p-3100186f.entry.js → p-1dc58168.entry.js} +1 -1
  373. package/dist/twilight/{p-768b4a83.entry.js → p-1f3480ba.entry.js} +1 -1
  374. package/dist/twilight/p-241b94a6.entry.js +4 -0
  375. package/dist/twilight/{p-69e7eb15.entry.js → p-2b75426a.entry.js} +1 -1
  376. package/dist/twilight/{p-6e2c05e8.entry.js → p-2dc46abc.entry.js} +1 -1
  377. package/dist/twilight/p-2eaf114e.entry.js +4 -0
  378. package/dist/twilight/{p-780abf03.entry.js → p-304f3de9.entry.js} +1 -1
  379. package/dist/twilight/p-35f30553.entry.js +4 -0
  380. package/dist/twilight/{p-d059046e.entry.js → p-3adacc75.entry.js} +1 -1
  381. package/dist/twilight/p-3e9f8d3c.entry.js +4 -0
  382. package/dist/twilight/{p-6543c5eb.entry.js → p-407a0c14.entry.js} +1 -1
  383. package/dist/twilight/{p-61bcbf9a.entry.js → p-43affbdd.entry.js} +1 -1
  384. package/dist/twilight/{p-a8a9b151.entry.js → p-456cfec5.entry.js} +1 -1
  385. package/dist/twilight/{p-3995c76e.entry.js → p-46c8b2d4.entry.js} +1 -1
  386. package/dist/twilight/{p-badfd153.entry.js → p-474b22b8.entry.js} +1 -1
  387. package/dist/twilight/{p-9f8a065c.entry.js → p-49c42118.entry.js} +1 -1
  388. package/dist/twilight/p-5089b72f.entry.js +4 -0
  389. package/dist/twilight/{p-c907509d.entry.js → p-5229c8aa.entry.js} +1 -1
  390. package/dist/twilight/{p-5f989a35.entry.js → p-550a91fe.entry.js} +1 -1
  391. package/dist/twilight/{p-463cf5ea.entry.js → p-594694e9.entry.js} +1 -1
  392. package/dist/twilight/{p-6ee5c24d.entry.js → p-5a18c6cc.entry.js} +1 -1
  393. package/dist/twilight/{p-38b5829a.entry.js → p-5aa08192.entry.js} +1 -1
  394. package/dist/twilight/p-5bda616b.entry.js +4 -0
  395. package/dist/twilight/p-5d9b57c8.entry.js +4 -0
  396. package/dist/twilight/{p-c4c3e16f.entry.js → p-6030f1fd.entry.js} +1 -1
  397. package/dist/twilight/{p-a756b0a4.entry.js → p-62010e29.entry.js} +1 -1
  398. package/dist/twilight/{p-df72e6a9.entry.js → p-63f1acc7.entry.js} +1 -1
  399. package/dist/twilight/p-6790943b.entry.js +4 -0
  400. package/dist/twilight/{p-fe2a4d07.entry.js → p-67d41cbb.entry.js} +1 -1
  401. package/dist/twilight/{p-9668a8aa.entry.js → p-6c39606a.entry.js} +1 -1
  402. package/dist/twilight/{p-fca82074.entry.js → p-6d6184c0.entry.js} +1 -1
  403. package/dist/twilight/{p-f145dc81.entry.js → p-6eab2444.entry.js} +1 -1
  404. package/dist/twilight/{p-dcc34752.entry.js → p-72a1b702.entry.js} +1 -1
  405. package/dist/twilight/{p-30fe7a02.entry.js → p-7442c41a.entry.js} +1 -1
  406. package/dist/twilight/{p-51b4ab80.entry.js → p-7f4d4e3c.entry.js} +1 -1
  407. package/dist/twilight/{p-be077285.entry.js → p-7fdeec2b.entry.js} +1 -1
  408. package/dist/twilight/{p-f4f47286.entry.js → p-83cb6915.entry.js} +1 -1
  409. package/dist/twilight/{p-017500f8.entry.js → p-88bed460.entry.js} +1 -1
  410. package/dist/twilight/{p-623b0c48.entry.js → p-8d1c4f93.entry.js} +1 -1
  411. package/dist/twilight/{p-4d2f0573.entry.js → p-8d427c53.entry.js} +1 -1
  412. package/dist/twilight/p-929e5aed.entry.js +4 -0
  413. package/dist/twilight/p-956d6683.entry.js +4 -0
  414. package/dist/twilight/{p-BPasfwVf.js → p-BKKN_hn3.js} +1 -1
  415. package/dist/twilight/{p-DVCS8qoq.js → p-BT5S72c8.js} +1 -1
  416. package/dist/twilight/{p-D2W2ygY1.js → p-ByL3FHQ6.js} +1 -1
  417. package/dist/twilight/p-CBwG3dWv.js +9 -0
  418. package/dist/twilight/{p-Dckjjczv.js → p-CjnbnAFU.js} +1 -1
  419. package/dist/twilight/{p-DNU1AEuR.js → p-ClNJhnhN.js} +1 -1
  420. package/dist/twilight/{p-DzHsJ03K.js → p-Cq2cbPYZ.js} +1 -1
  421. package/dist/twilight/p-Czf4a8gg.js +9 -0
  422. package/dist/twilight/{p--Jfvyk1f.js → p-D6Z2cDb0.js} +1 -1
  423. package/dist/twilight/{p-BgFqaLNN.js → p-DBxZFsVz.js} +1 -1
  424. package/dist/twilight/{p-BxhAwisc.js → p-DXVmi29t.js} +1 -1
  425. package/dist/twilight/{p-CHsBLTlN.js → p-DY6O-SiT.js} +1 -1
  426. package/dist/twilight/{p-1fa5c385.entry.js → p-a1e520d5.entry.js} +1 -1
  427. package/dist/twilight/{p-0052df8e.entry.js → p-a26fe1e5.entry.js} +1 -1
  428. package/dist/twilight/{p-0fa958a8.entry.js → p-a30cfade.entry.js} +1 -1
  429. package/dist/twilight/{p-eaf8f509.entry.js → p-a9090afd.entry.js} +1 -1
  430. package/dist/twilight/{p-89dae763.entry.js → p-ae2c963f.entry.js} +1 -1
  431. package/dist/twilight/{p-0a8fdddc.entry.js → p-b18a446a.entry.js} +1 -1
  432. package/dist/twilight/{p-9196d137.entry.js → p-b1c97472.entry.js} +1 -1
  433. package/dist/twilight/{p-bc1725dd.entry.js → p-bc6c4c1c.entry.js} +1 -1
  434. package/dist/twilight/{p-31fca96b.entry.js → p-be10a9c3.entry.js} +1 -1
  435. package/dist/twilight/p-c26cf3fa.entry.js +4 -0
  436. package/dist/twilight/{p-092318cc.entry.js → p-c4655810.entry.js} +1 -1
  437. package/dist/twilight/{p-ba55e58f.entry.js → p-c5211eca.entry.js} +1 -1
  438. package/dist/twilight/{p-6ce0ab6e.entry.js → p-cbd793c8.entry.js} +1 -1
  439. package/dist/twilight/{p-052922a0.entry.js → p-cfb9665f.entry.js} +2 -2
  440. package/dist/twilight/p-d46fb24a.entry.js +4 -0
  441. package/dist/twilight/{p-a2ff9abd.entry.js → p-d6cb423a.entry.js} +1 -1
  442. package/dist/twilight/{p-721ae2c4.entry.js → p-d7a2e982.entry.js} +1 -1
  443. package/dist/twilight/{p-77db23d2.entry.js → p-d9868f07.entry.js} +1 -1
  444. package/dist/twilight/{p-ba5d1170.entry.js → p-dbe3a5bb.entry.js} +1 -1
  445. package/dist/twilight/{p-66d2b9e3.entry.js → p-e041fe56.entry.js} +1 -1
  446. package/dist/twilight/{p-37299c40.entry.js → p-e058b62c.entry.js} +1 -1
  447. package/dist/twilight/{p-6f63f391.entry.js → p-e07c9a85.entry.js} +1 -1
  448. package/dist/twilight/{p-ddbffad3.entry.js → p-e1275bf7.entry.js} +1 -1
  449. package/dist/twilight/{p-7a75c505.entry.js → p-e5d5a6b3.entry.js} +1 -1
  450. package/dist/twilight/p-e5e6ea75.entry.js +4 -0
  451. package/dist/twilight/{p-9a6ea758.entry.js → p-e7a255a3.entry.js} +1 -1
  452. package/dist/twilight/{p-de70e0f6.entry.js → p-ebebcd55.entry.js} +1 -1
  453. package/dist/twilight/{p-6f86922a.entry.js → p-f0d7247d.entry.js} +1 -1
  454. package/dist/twilight/{p-3d65f310.entry.js → p-f222bf9f.entry.js} +1 -1
  455. package/dist/twilight/{p-1da95f6f.entry.js → p-f2594407.entry.js} +1 -1
  456. package/dist/twilight/{p-21e43f89.entry.js → p-f4235325.entry.js} +1 -1
  457. package/dist/twilight/p-fafdeea7.entry.js +4 -0
  458. package/dist/twilight/{p-ef26e3be.entry.js → p-fb7de7c4.entry.js} +1 -1
  459. package/dist/twilight/{p-1eadcac5.entry.js → p-fc1e3854.entry.js} +1 -1
  460. package/dist/twilight/{p-7288ff02.entry.js → p-fc72b631.entry.js} +1 -1
  461. package/dist/twilight/{p-681a053f.entry.js → p-fce2579c.entry.js} +1 -1
  462. package/dist/twilight/twilight.esm.js +1 -1
  463. package/dist/types/components/salla-add-product-button/salla-add-product-button.d.ts +2 -0
  464. package/dist/types/components/salla-breadcrumb/salla-breadcrumb.d.ts +1 -0
  465. package/dist/types/components/salla-order-options-modal/apple-pay-order-options.d.ts +26 -0
  466. package/dist/types/components/salla-order-options-modal/order-options-gate.d.ts +23 -0
  467. package/dist/types/components/salla-order-options-modal/salla-order-options-modal.d.ts +66 -0
  468. package/dist/types/components/salla-product-options/availability-utils.d.ts +19 -0
  469. package/dist/types/components/salla-product-options/salla-product-options.d.ts +14 -0
  470. package/dist/types/components/salla-quick-buy/salla-quick-buy.d.ts +14 -0
  471. package/dist/types/components.d.ts +62 -0
  472. package/package.json +5 -5
  473. package/dist/cjs/salla-progress-bar.cjs.entry.js +0 -73
  474. package/dist/esm/salla-progress-bar.entry.js +0 -71
  475. package/dist/twilight/p-05ffde56.entry.js +0 -4
  476. package/dist/twilight/p-0bf6b9ad.entry.js +0 -4
  477. package/dist/twilight/p-294a3248.entry.js +0 -4
  478. package/dist/twilight/p-2b2af618.entry.js +0 -4
  479. package/dist/twilight/p-45a786cd.entry.js +0 -4
  480. package/dist/twilight/p-476463ea.entry.js +0 -4
  481. package/dist/twilight/p-56f4d005.entry.js +0 -4
  482. package/dist/twilight/p-58bcae28.entry.js +0 -4
  483. package/dist/twilight/p-5d19859e.entry.js +0 -4
  484. package/dist/twilight/p-63f20aa0.entry.js +0 -4
  485. package/dist/twilight/p-83222f33.entry.js +0 -4
  486. package/dist/twilight/p-84dc489a.entry.js +0 -4
  487. package/dist/twilight/p-869773d3.entry.js +0 -4
  488. package/dist/twilight/p-97b74b76.entry.js +0 -4
  489. package/dist/twilight/p-9dca7f59.entry.js +0 -4
  490. package/dist/twilight/p-BFEfBkEW.js +0 -9
  491. package/dist/twilight/p-DWcI2hUr.js +0 -9
  492. package/dist/twilight/p-ad60969e.entry.js +0 -4
  493. package/dist/twilight/p-dc9b7a8e.entry.js +0 -4
  494. package/dist/twilight/p-fc7a1f2f.entry.js +0 -4
@@ -159,9 +159,9 @@ const SallaPriceRange = /*@__PURE__*/ proxyCustomElement(class SallaPriceRange e
159
159
  this.maxPrice = value === undefined ? '' : value;
160
160
  }
161
161
  render() {
162
- return (h(Host, { key: 'ab96e0b292966af5dea7627ed2cfae7aa6cf42d2' }, this.filterValues.map((filterValue, index) => {
162
+ return (h(Host, { key: 'ecc44cf63ea7788f00aa33a19c06579c887c59dd' }, this.filterValues.map((filterValue, index) => {
163
163
  return h("label", { class: "s-filters-label", htmlFor: `${this.option.key}-${index}`, key: index }, h("input", { id: `${this.option.key}-${index}`, name: "price", type: "radio", checked: this.isChecked(filterValue), class: "s-filters-radio", onChange: e => this.handleMinMaxPrice(e, filterValue) }), h("span", { innerHTML: this.getPriceLabel(filterValue) }));
164
- }), h("div", { key: '5d958a76e7878542fd8090229570ed9baf9ca2ea', class: "flex justify-center items-center" }, h("div", { key: '1c500632705c5006b901a809368ce85a16709afb', class: "relative max-w-xl w-full" }, h("div", { key: 'd29b5185bf50c5582920b54716005e8756de05bd', class: "s-price-range-inputs" }, h("div", { key: 'bd41a6602d5f3f434ba7d7ee4b8c92900d27c6b9', class: "s-price-range-relative" }, h("div", { key: 'd61027acbb26d6754d4406aa07c11101fd8c4005', class: "s-price-range-currency" }, " ", salla.config.currency().symbol), h("input", { key: 'b368eabded71a6631943b5cd12624418df07afe8', type: "number", maxlength: "5", ref: el => this.minInput = el, onBlur: (e) => this.handleMinPrice(e), value: this.minPrice, placeholder: this.fromLabel, class: "s-price-range-number-input" })), h("div", { key: '0b7b3750d740e929fe0c3f120185d153cb9f6a8e', class: "s-price-range-gray-text" }, " -"), h("div", { key: '148ebe3d2b5a52d013ab9ca6aef02342c5acb3fa', class: "s-price-range-relative" }, h("div", { key: '205c13dd92d5784fc2b1551b56a0ec5e329e0854', class: "s-price-range-currency" }, " ", salla.config.currency().symbol), h("input", { key: 'a4b8886ae87387e891f286931b58a3340920a0e0', type: "number", maxlength: "5", ref: el => this.maxInput = el, onBlur: (e) => this.handleMaxPrice(e), value: this.maxPrice, placeholder: this.toLabel, class: "s-price-range-number-input", "aria-describedby": "price-currency" })), h("salla-button", { key: '221241ca34ed2e7aec47b57b609718e68ccd5060', color: 'gray', shape: 'icon', size: 'small', fill: 'outline', onClick: (event) => this.changedEventHandler(event) }, h("span", { key: 'b277d7c12f44eba76b967055e79a12ed7e492e4d', innerHTML: this.isRTL ? IconArrowLeft : arrowRight })))))));
164
+ }), h("div", { key: 'c4b6d75b11a2625f429caf6bba9e0dd625f6f646', class: "flex justify-center items-center" }, h("div", { key: '4e85f9c05415daf235ab965ebe185c7171f08e06', class: "relative max-w-xl w-full" }, h("div", { key: '44b7747bfa4ec0e46da70dcf25f5325562bb0be9', class: "s-price-range-inputs" }, h("div", { key: '08a9afa0ea579f31eba87561283162b1d47f123f', class: "s-price-range-relative" }, h("div", { key: '54540065c16484f01e356fb2094f3163357ffd95', class: "s-price-range-currency" }, " ", salla.config.currency().symbol), h("input", { key: '851b957d076c25808edba4e763ae31286047782f', type: "number", maxlength: "5", ref: el => this.minInput = el, onBlur: (e) => this.handleMinPrice(e), value: this.minPrice, placeholder: this.fromLabel, class: "s-price-range-number-input" })), h("div", { key: 'f8a910aca554ae21657a19115d7f9607efb0566d', class: "s-price-range-gray-text" }, " -"), h("div", { key: '7d1561634459c15862bc0455b4bd9248d44a8446', class: "s-price-range-relative" }, h("div", { key: '7ca1fb8056b8af71f6f57524ed9d5fdfdc641ef2', class: "s-price-range-currency" }, " ", salla.config.currency().symbol), h("input", { key: 'e6411b0e1b0e36b45a6879c1b257f394ec94007f', type: "number", maxlength: "5", ref: el => this.maxInput = el, onBlur: (e) => this.handleMaxPrice(e), value: this.maxPrice, placeholder: this.toLabel, class: "s-price-range-number-input", "aria-describedby": "price-currency" })), h("salla-button", { key: '63bc422c8d82c820bd984d5af68f8081add164c3', color: 'gray', shape: 'icon', size: 'small', fill: 'outline', onClick: (event) => this.changedEventHandler(event) }, h("span", { key: 'b81d3813cb2ff9523f232cf0a615c58576b14177', innerHTML: this.isRTL ? IconArrowLeft : arrowRight })))))));
165
165
  }
166
166
  componentDidLoad() {
167
167
  this.isReady = true;
@@ -146,7 +146,7 @@ const SallaProductAvailability = /*@__PURE__*/ proxyCustomElement(class SallaPro
146
146
  field.nextElementSibling['innerText'] = '* ' + errorMsg;
147
147
  }
148
148
  render() {
149
- return (h(Host, { key: '144b0687a0e527fa493aa701c334db76a7b42164', class: "s-product-availability-wrap" }, this.isSubscribedToProduct
149
+ return (h(Host, { key: '0779c3aef2637bfcd30ecf110d0cd31d819a82a5', class: "s-product-availability-wrap" }, this.isSubscribedToProduct
150
150
  ? h("div", { class: "s-product-availability-subscribed" }, h("span", { innerHTML: BellRing, class: "s-product-availability-subs-icon" }), salla.lang.get('pages.products.notify_availability_success'))
151
151
  :
152
152
  h("salla-button", { width: "wide", onClick: () => this.isUser ? this.submit() : this.openModel() }, salla.lang.get('pages.products.notify_availability')), this.isUser || this.isSubscribedToProduct ? '' : this.renderModal()));
@@ -84,7 +84,7 @@ const SallaProductCardEmbed$1 = /*@__PURE__*/ proxyCustomElement(class SallaProd
84
84
  's-product-card-embed-card-align-right': this.align === 'right',
85
85
  's-product-card-embed-card-align-center': this.align === 'center',
86
86
  };
87
- return (h(Host, { key: 'a742a11dc2926fb941f44d1b3fd5cc3b4a207822' }, this.hasError && h("span", { key: 'c554a3b1971fa0b646611d24b7000bed921114d8', class: "s-product-card-embed-fallback" }), h("div", { key: 'cb0551a374e4ed68496bfa436adf6424febbd681', class: cardClasses, ref: (el) => {
87
+ return (h(Host, { key: '61c3e673a103e5d13217bac208611bf4978d20a4' }, this.hasError && h("span", { key: '8f013953f9eed502307823825e573281f481fd19', class: "s-product-card-embed-fallback" }), h("div", { key: '150d4080de0dbf21a2abaa00eca4c8ffae604546', class: cardClasses, ref: (el) => {
88
88
  this.cardContainer = el;
89
89
  } })));
90
90
  }
@@ -3,12 +3,20 @@
3
3
  */
4
4
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
5
5
  import { R as Rate } from './star2.js';
6
- import { d as defineCustomElement$9 } from './salla-add-product-button2.js';
7
- import { d as defineCustomElement$8 } from './salla-button2.js';
8
- import { d as defineCustomElement$7 } from './salla-count-down2.js';
9
- import { d as defineCustomElement$6 } from './salla-loading2.js';
10
- import { d as defineCustomElement$5 } from './salla-modal2.js';
11
- import { d as defineCustomElement$4 } from './salla-product-availability2.js';
6
+ import { d as defineCustomElement$h } from './salla-add-product-button2.js';
7
+ import { d as defineCustomElement$g } from './salla-booking-field2.js';
8
+ import { d as defineCustomElement$f } from './salla-button2.js';
9
+ import { d as defineCustomElement$e } from './salla-color-picker2.js';
10
+ import { d as defineCustomElement$d } from './salla-conditional-fields2.js';
11
+ import { d as defineCustomElement$c } from './salla-count-down2.js';
12
+ import { d as defineCustomElement$b } from './salla-datetime-picker2.js';
13
+ import { d as defineCustomElement$a } from './salla-file-upload2.js';
14
+ import { d as defineCustomElement$9 } from './salla-loading2.js';
15
+ import { d as defineCustomElement$8 } from './salla-map2.js';
16
+ import { d as defineCustomElement$7 } from './salla-modal2.js';
17
+ import { d as defineCustomElement$6 } from './salla-order-options-modal2.js';
18
+ import { d as defineCustomElement$5 } from './salla-product-availability2.js';
19
+ import { d as defineCustomElement$4 } from './salla-product-options2.js';
12
20
  import { d as defineCustomElement$3 } from './salla-progress-bar2.js';
13
21
  import { d as defineCustomElement$2 } from './salla-quick-buy2.js';
14
22
  import { d as defineCustomElement$1 } from './salla-tel-input2.js';
@@ -122,14 +130,14 @@ const SallaProductCard = /*@__PURE__*/ proxyCustomElement(class SallaProductCard
122
130
  's-product-card-out-of-stock': this.productData?.is_out_of_stock,
123
131
  };
124
132
  const hrefProp = this.productData?.url ? { href: this.productData.url, title: `Learn more about ${this.productData?.name}` } : {};
125
- return (h(Host, { key: '789fbb35499a12f08dab69a6be3559eebea03381', id: `product-${this.productData?.id}`, class: classes }, h("div", { key: '9cb05484a39b108348e3b2070d63c503681ef417', class: !this.fullImage ? 's-product-card-image' : 's-product-card-image-full' }, h("a", { key: '1805be53cb3a3cf1068752121b846178d6b9340f', ...hrefProp }, h("img", { key: 'bf9183ed961e8fe5207548ce1e8146064b69675d', class: `s-product-card-image-${salla.url.is_placeholder(this.productData?.image?.url)
133
+ return (h(Host, { key: '0f4b4f64ee342da10905dee73db8a2b4bebdfc9e', id: `product-${this.productData?.id}`, class: classes }, h("div", { key: 'ed5cfb208c6241ca6ccd2c8f2205f76d1f81ca2a', class: !this.fullImage ? 's-product-card-image' : 's-product-card-image-full' }, h("a", { key: '865376db3deadd97c23480e9226a50abe9371284', ...hrefProp }, h("img", { key: 'ad314a97956853e26b3a3c4ecb9f1d427bf748fb', class: `s-product-card-image-${salla.url.is_placeholder(this.productData?.image?.url)
126
134
  ? 'contain'
127
135
  : this.fitImageHeight
128
136
  ? this.fitImageHeight
129
- : 'cover'} lazy`, src: this.placeholder, alt: this.productData?.image?.alt || this.productData?.name, "data-src": this.productData?.image?.url || this.productData?.thumbnail }), !this.fullImage && !this.minimal ? this.getProductBadge() : ''), this.fullImage && h("a", { key: '567e6766ff7516ff409d9f86dc3cba7a51508d57', ...hrefProp, class: "s-product-card-overlay" }), !this.horizontal && !this.fullImage ?
130
- h("salla-button", { shape: "icon", fill: "none", color: "light", loading: false, "aria-label": "Add or remove to wishlist", ref: el => this.wishlistBtn = el, class: "s-product-card-wishlist-btn animated", onClick: () => this.handleWishlistClick() }, h("span", { innerHTML: Heart })) : ''), h("div", { key: 'b36b0e6bdb8af5b1cf38d416b9f64038fa1f17ae', class: "s-product-card-content" }, this.isSpecial && this.productData?.quantity ?
137
+ : 'cover'} lazy`, src: this.placeholder, alt: this.productData?.image?.alt || this.productData?.name, "data-src": this.productData?.image?.url || this.productData?.thumbnail }), !this.fullImage && !this.minimal ? this.getProductBadge() : ''), this.fullImage && h("a", { key: 'eef3edab8f4cc75c385928dcdbd9d29c318b68cc', ...hrefProp, class: "s-product-card-overlay" }), !this.horizontal && !this.fullImage ?
138
+ h("salla-button", { shape: "icon", fill: "none", color: "light", loading: false, "aria-label": "Add or remove to wishlist", ref: el => this.wishlistBtn = el, class: "s-product-card-wishlist-btn animated", onClick: () => this.handleWishlistClick() }, h("span", { innerHTML: Heart })) : ''), h("div", { key: '208f74738cd81bb68ec63f4fdadedbd9b19e6dad', class: "s-product-card-content" }, this.isSpecial && this.productData?.quantity ?
131
139
  h("div", { class: "s-product-card-content-pie", ref: pie => this.pie = pie }, h("span", null, h("b", null, salla.helpers.number(this.productData?.quantity)), this.remained), h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "-2 -1 36 34", class: "s-product-card-content-pie-svg" }, h("circle", { cx: "16", cy: "16", r: "15.9155", class: "s-product-card-content-pie-svg-base" }), h("circle", { cx: "16", cy: "16", r: "15.9155", class: "s-product-card-content-pie-svg-bar" })))
132
- : '', h("div", { key: '93258adb3ca7ff5d3a89a118c7642b8b1264e045', class: { 's-product-card-content-main': true, 's-product-card-content-extra-padding': this.isSpecial } }, h("h3", { key: 'fdf1c66e6533f3b092ad66e66875cbb2e213e6ad', class: "s-product-card-content-title" }, h("a", { key: 'cd3476f564e8ed4050b909c33926a5d44bf8fb5a', ...hrefProp }, this.productData?.name)), this.productData?.subtitle && !this.minimal ?
140
+ : '', h("div", { key: '6b00056661ebe29db89377f858bfefda80ed365f', class: { 's-product-card-content-main': true, 's-product-card-content-extra-padding': this.isSpecial } }, h("h3", { key: 'a1a7a2d363a009c3254df7728e80f958be76a012', class: "s-product-card-content-title" }, h("a", { key: 'c3c8a4b862cf6a0b78bafb6f30bd5a04d437257d', ...hrefProp }, this.productData?.name)), this.productData?.subtitle && !this.minimal ?
133
141
  h("p", { class: "s-product-card-content-subtitle" }, this.productData?.subtitle)
134
142
  : ''), this.productData?.donation && !this.minimal && !this.fullImage ?
135
143
  [h("salla-progress-bar", { donation: this.productData?.donation }), h("div", { class: "s-product-card-donation-input" }, this.productData?.donation?.can_donate ?
@@ -138,7 +146,7 @@ const SallaProductCard = /*@__PURE__*/ proxyCustomElement(class SallaProductCard
138
146
  this.addBtn.donatingAmount = e.target.value;
139
147
  }, id: "donation-amount", name: "donating_amount", class: "s-form-control", placeholder: this.donationAmount })]
140
148
  : '')]
141
- : '', h("div", { key: 'b32c488819742ae8dd56147f4285424d381a3df4', class: { 's-product-card-content-sub': true, 's-product-card-content-extra-padding': this.isSpecial } }, this.getProductPrice(), this.productData?.rating?.stars && !this.minimal ?
149
+ : '', h("div", { key: '2ab7701aac64f90667627f0a0b3bfc031e30d835', class: { 's-product-card-content-sub': true, 's-product-card-content-extra-padding': this.isSpecial } }, this.getProductPrice(), this.productData?.rating?.stars && !this.minimal ?
142
150
  h("div", { class: "s-product-card-rating" }, h("span", { innerHTML: Rate }), h("span", null, this.productData.rating.stars))
143
151
  : ''), this.isSpecial && this.productData.discount_ends
144
152
  ? h("salla-count-down", { date: this.formatDate(this.productData.discount_ends), "end-of-day": true, boxed: true, labeled: true })
@@ -185,7 +193,7 @@ function defineCustomElement() {
185
193
  if (typeof customElements === "undefined") {
186
194
  return;
187
195
  }
188
- const components = ["salla-product-card", "salla-add-product-button", "salla-button", "salla-count-down", "salla-loading", "salla-modal", "salla-product-availability", "salla-progress-bar", "salla-quick-buy", "salla-tel-input"];
196
+ const components = ["salla-product-card", "salla-add-product-button", "salla-booking-field", "salla-button", "salla-color-picker", "salla-conditional-fields", "salla-count-down", "salla-datetime-picker", "salla-file-upload", "salla-loading", "salla-map", "salla-modal", "salla-order-options-modal", "salla-product-availability", "salla-product-options", "salla-progress-bar", "salla-quick-buy", "salla-tel-input"];
189
197
  components.forEach(tagName => { switch (tagName) {
190
198
  case "salla-product-card":
191
199
  if (!customElements.get(tagName)) {
@@ -194,30 +202,70 @@ function defineCustomElement() {
194
202
  break;
195
203
  case "salla-add-product-button":
196
204
  if (!customElements.get(tagName)) {
197
- defineCustomElement$9();
205
+ defineCustomElement$h();
206
+ }
207
+ break;
208
+ case "salla-booking-field":
209
+ if (!customElements.get(tagName)) {
210
+ defineCustomElement$g();
198
211
  }
199
212
  break;
200
213
  case "salla-button":
201
214
  if (!customElements.get(tagName)) {
202
- defineCustomElement$8();
215
+ defineCustomElement$f();
216
+ }
217
+ break;
218
+ case "salla-color-picker":
219
+ if (!customElements.get(tagName)) {
220
+ defineCustomElement$e();
221
+ }
222
+ break;
223
+ case "salla-conditional-fields":
224
+ if (!customElements.get(tagName)) {
225
+ defineCustomElement$d();
203
226
  }
204
227
  break;
205
228
  case "salla-count-down":
206
229
  if (!customElements.get(tagName)) {
207
- defineCustomElement$7();
230
+ defineCustomElement$c();
231
+ }
232
+ break;
233
+ case "salla-datetime-picker":
234
+ if (!customElements.get(tagName)) {
235
+ defineCustomElement$b();
236
+ }
237
+ break;
238
+ case "salla-file-upload":
239
+ if (!customElements.get(tagName)) {
240
+ defineCustomElement$a();
208
241
  }
209
242
  break;
210
243
  case "salla-loading":
211
244
  if (!customElements.get(tagName)) {
212
- defineCustomElement$6();
245
+ defineCustomElement$9();
246
+ }
247
+ break;
248
+ case "salla-map":
249
+ if (!customElements.get(tagName)) {
250
+ defineCustomElement$8();
213
251
  }
214
252
  break;
215
253
  case "salla-modal":
216
254
  if (!customElements.get(tagName)) {
217
- defineCustomElement$5();
255
+ defineCustomElement$7();
256
+ }
257
+ break;
258
+ case "salla-order-options-modal":
259
+ if (!customElements.get(tagName)) {
260
+ defineCustomElement$6();
218
261
  }
219
262
  break;
220
263
  case "salla-product-availability":
264
+ if (!customElements.get(tagName)) {
265
+ defineCustomElement$5();
266
+ }
267
+ break;
268
+ case "salla-product-options":
221
269
  if (!customElements.get(tagName)) {
222
270
  defineCustomElement$4();
223
271
  }
@@ -44,6 +44,58 @@ var Currency;
44
44
  Currency["Sar"] = "SAR";
45
45
  })(Currency || (Currency = {}));
46
46
 
47
+ /**
48
+ * Builds a per-detail availability map from SKU-level data.
49
+ *
50
+ * Exported as a pure function so it can be unit-tested independently of the
51
+ * Stencil component (the @State availabilityMap backing-store is not accessible
52
+ * via page.rootInstance in the Stencil mock-doc test environment).
53
+ *
54
+ * Status values:
55
+ * 'available' – at least one in-stock SKU for this detail + current selections
56
+ * 'out_of_stock' – all matching SKUs are out of stock
57
+ * 'impossible' – no SKU intersection exists for this combination
58
+ *
59
+ * skus_availability is always the authoritative source when present; is_out is
60
+ * consulted only as a last resort when a detail has no SKU data at all.
61
+ */
62
+ function computeAvailabilityMap(optionsData, selectedOptions) {
63
+ const map = {};
64
+ if (!optionsData?.length)
65
+ return map;
66
+ const variantGroups = optionsData.filter(opt => opt.details?.some(d => d.skus_availability && Object.keys(d.skus_availability).length > 0));
67
+ const isSingleGroup = variantGroups.length <= 1;
68
+ for (const optionGroup of variantGroups) {
69
+ const otherSelected = selectedOptions.filter(s => s.option_id !== optionGroup.id);
70
+ for (const detail of optionGroup.details) {
71
+ const skusAvail = detail.skus_availability;
72
+ // No skus_availability data — fall back to is_out as last resort only.
73
+ if (!skusAvail || !Object.keys(skusAvail).length) {
74
+ map[detail.id] = detail.is_out ? 'out_of_stock' : 'available';
75
+ continue;
76
+ }
77
+ const detailSkus = Object.keys(skusAvail).map(Number);
78
+ // No cross-group context yet — evaluate this detail's own SKUs directly.
79
+ if (isSingleGroup || otherSelected.length === 0) {
80
+ map[detail.id] = detailSkus.some(sku => skusAvail[sku]) ? 'available' : 'out_of_stock';
81
+ continue;
82
+ }
83
+ // Intersect this detail's SKUs with those of each other selected detail.
84
+ let candidates = detailSkus;
85
+ for (const other of otherSelected) {
86
+ const otherSkus = new Set(Object.keys(other.skus_availability || {}).map(Number));
87
+ candidates = candidates.filter(sku => otherSkus.has(sku));
88
+ }
89
+ if (!candidates.length) {
90
+ map[detail.id] = 'impossible';
91
+ continue;
92
+ }
93
+ map[detail.id] = candidates.some(sku => skusAvail[sku]) ? 'available' : 'out_of_stock';
94
+ }
95
+ }
96
+ return map;
97
+ }
98
+
47
99
  var FileIcon = `<!-- Generated by IcoMoon.io -->
48
100
  <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
49
101
  <title>file-upload</title>
@@ -77,6 +129,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
77
129
  this.availableDigitalCardValues = [];
78
130
  this.userInitiatedValidation = false;
79
131
  this.isCartMode = false;
132
+ this.availabilityMap = {};
80
133
  this.outSkus = [];
81
134
  /**
82
135
  * Avoid selection of previous default or selected card value option
@@ -87,6 +140,11 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
87
140
  * The id of the product to which the options are going to be fetched for.
88
141
  */
89
142
  this.productId = salla.config.get('page.id');
143
+ /**
144
+ * Strip the wrapper's padding (keeps the background, rounded corners, margin).
145
+ * Used by callers that need the options to sit flush inside their own surface.
146
+ */
147
+ this.noPadding = false;
90
148
  this.handleDonationOptions = (event, detail, type, _option) => {
91
149
  // Donating-amount input only: onInput updates price and dispatches native change for form price watcher.
92
150
  if (detail === 'custom' && type === 'input') {
@@ -167,12 +225,14 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
167
225
  */
168
226
  async setOptionsData(optionsData) {
169
227
  this.optionsData = optionsData;
170
- const that = this;
171
- this.optionsData[0]?.details?.forEach(function (detail) {
228
+ this.outSkus = [];
229
+ this.optionsData[0]?.details?.forEach(detail => {
172
230
  Object.entries(detail.skus_availability || {})
173
- .filter(sku => !sku[1])
174
- .map(sku => that.outSkus.push(Number(sku[0])));
231
+ .filter(([, available]) => !available)
232
+ .forEach(([sku]) => this.outSkus.push(Number(sku)));
175
233
  });
234
+ this.fillSelectedOptions();
235
+ this.computeAvailability();
176
236
  }
177
237
  /**
178
238
  * Get the current options state, including selected values/details.
@@ -358,8 +418,9 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
358
418
  */
359
419
  setSelectedSkus() {
360
420
  this.selectedSkus = this.selectedOptions.map(detail => Object.keys(detail.skus_availability || {}))
361
- .reduce((p, c) => p.filter(e => c.includes(e)), []) // Initialize accumulator as an empty array
421
+ .reduce((p, c) => p.filter(e => c.includes(e)), [])
362
422
  .map(sku => Number(sku));
423
+ this.computeAvailability();
363
424
  }
364
425
  handleRequiredMultipleOptions(option) {
365
426
  if (option.type !== DisplayType.MULTIPLE_OPTIONS || !option.required) {
@@ -563,7 +624,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
563
624
  if (this.optionsData?.length === 0) {
564
625
  return;
565
626
  }
566
- return (h(Host, { class: "s-product-options-wrapper" }, h("salla-conditional-fields", null, this.optionsData.map((option) => h("div", { key: option.id, class: `s-product-options-option-container${option.visibility_condition || this.hideDigitalCardsOptions(option) ? ' hidden' : ''}`, "data-option-id": option.id, ...this.getOptionShownWhen(option) }, option.name === 'splitter' ?
627
+ return (h(Host, { class: { 's-product-options-wrapper': true, 's-product-options-no-padding': this.noPadding } }, h("salla-conditional-fields", null, this.optionsData.map((option) => h("div", { key: option.id, class: `s-product-options-option-container${option.visibility_condition || this.hideDigitalCardsOptions(option) ? ' hidden' : ''}`, "data-option-id": option.id, ...this.getOptionShownWhen(option) }, option.name === 'splitter' ?
567
628
  this.splitterOption()
568
629
  : h("div", { class: { "s-product-options-option": true, "s-product-options-option-booking": option.type === DisplayType.BOOKING && salla.url.is_page("cart") }, "data-option-type": option.type, "data-option-required": `${option.required}` }, h("label", { htmlFor: this.generateInputId(option.id), class: `s-product-options-option-label ${this.hideLabel(option) ? 's-product-options-option-label-hidden' : ''}` }, h("b", null, option.name, option.required && h("span", null, " * "), " "), h("small", null, option.placeholder)), h("div", { class: `s-product-options-option-content ${this.hideLabel(option) || (option.type === DisplayType.BOOKING && salla.url.is_page("cart")) ? 's-product-options-option-content-full-width' : ''}` }, this.getDisplayForType(option))))))));
569
630
  }
@@ -618,7 +679,9 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
618
679
  }
619
680
  fillSelectedOptions() {
620
681
  this.selectedOptions = this.optionsData.reduce((acc, opt) => {
621
- const selectedDetails = opt.details.filter(detail => detail.is_selected);
682
+ // `details` is optional on the Option interface — input-type options
683
+ // (text/number/date/file) carry no choice list, so guard before filtering.
684
+ const selectedDetails = (opt.details ?? []).filter(detail => detail.is_selected);
622
685
  const mappedDetails = selectedDetails.map(detail => ({
623
686
  ...detail,
624
687
  option_id: opt.id
@@ -626,6 +689,25 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
626
689
  return acc.concat(mappedDetails);
627
690
  }, []);
628
691
  }
692
+ /**
693
+ * Seed `selectedOptions` from API defaults (`is_selected: true`).
694
+ * componentWillLoad does this only on the cart page; non-cart callers
695
+ * (e.g. order-options modal) call this after mount to avoid the first
696
+ * multi-select toggle wiping the pre-selected defaults.
697
+ * */
698
+ async seedSelectedOptions() {
699
+ this.fillSelectedOptions();
700
+ // A required multi-select renders every checkbox `required`; handleRequiredMultipleOptions
701
+ // clears that once one is checked, but it only fires on user `change`. After seeding a
702
+ // pre-selected default we run it for the initial DOM so a defaulted-but-untouched required
703
+ // multi-select doesn't fail validation and block checkout. Defer to rAF so the seeded
704
+ // `checked` state is painted before we count it (matches the change-handler pattern above).
705
+ requestAnimationFrame(() => {
706
+ this.optionsData
707
+ ?.filter(o => o.type === DisplayType.MULTIPLE_OPTIONS && o.required)
708
+ .forEach(o => this.handleRequiredMultipleOptions(o));
709
+ });
710
+ }
629
711
  async componentDidLoad() {
630
712
  if (!this.optionsData?.length) {
631
713
  return;
@@ -688,6 +770,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
688
770
  this.disableCardValue = false;
689
771
  this.canDisabled = true;
690
772
  this.fillSelectedOptions();
773
+ this.computeAvailability();
691
774
  }
692
775
  /**
693
776
  * Enable user-initiated validation mode so invalid fields will scroll into view
@@ -798,22 +881,14 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
798
881
  //and because we are using this inside select option, we need to replace the html currency symbol with the store currency symbol
799
882
  return detailName.replace('<i class=sicon-sar></i>', salla.config.currency()?.symbol || 'ر.س');
800
883
  }
884
+ computeAvailability() {
885
+ this.availabilityMap = computeAvailabilityMap(this.optionsData || [], this.selectedOptions || []);
886
+ }
801
887
  isOptionDetailOut(detail) {
802
- if (detail.is_out || !detail.skus_availability || !this.selectedSkus?.length) {
803
- return detail.is_out;
804
- }
805
- const isDetailSelected = this.selectedOptions.filter(option => option.id === detail.id).length;
806
- //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
807
- if (isDetailSelected && this.selectedOptions.length === 1) {
808
- return false;
809
- }
810
- //if current details has sku in the possible outSkus it's out for sure
811
- if (isDetailSelected) {
812
- //here we will get the possible outSkus for current selected options
813
- const outSelectableSkus = this.selectedSkus.filter(sku => this.outSkus.includes(sku));
814
- return Object.keys(detail.skus_availability).some(sku => outSelectableSkus.includes(Number(sku)));
815
- }
816
- return this.selectedOptions.some(option => option.is_out && option.option_id !== detail.option_id);
888
+ const status = this.availabilityMap[detail.id];
889
+ // !!detail.is_out guards against TypeScript optimising away `?? false`
890
+ // for the non-nullable `is_out: boolean` field when the value is actually undefined at runtime.
891
+ return status !== undefined ? status !== 'available' : !!detail.is_out;
817
892
  }
818
893
  /**
819
894
  * Renders a single input element (radio or checkbox) for an option detail.
@@ -826,10 +901,14 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
826
901
  */
827
902
  renderInput(type, detail, option, isRequired, name, buttonStyle) {
828
903
  const id = this.generateUniqueKey(`${type}-${option.id}-${detail.id}`);
829
- const isDisabled = this.isOptionDetailOut(detail);
904
+ const isOutOfStock = this.isOptionDetailOut(detail);
830
905
  return (h("label", { class: {
831
- "s-product-options-disabled": isDisabled,
832
- } }, 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))));
906
+ "s-product-options-disabled": this.canDisabled && isOutOfStock,
907
+ "s-product-options-option-stock-out": isOutOfStock,
908
+ } }, 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: {
909
+ "s-product-options-grid-mode-span": buttonStyle,
910
+ "s-product-options-disabled": this.canDisabled && isOutOfStock,
911
+ } }, this.getOptionDetailName(detail))));
833
912
  }
834
913
  /**
835
914
  * Renders a collection of input elements for all details of an option.
@@ -902,15 +981,22 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
902
981
  }
903
982
  //@ts-ignore
904
983
  colorOption(option) {
905
- 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) })))))));
984
+ return (h("fieldset", { class: "s-product-options-colors-wrapper" }, option?.details.map((detail) => {
985
+ const isOutOfStock = this.isOptionDetailOut(detail);
986
+ return (h("div", { class: {
987
+ "s-product-options-colors-item": true,
988
+ "s-product-options-option-stock-out": isOutOfStock,
989
+ }, 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) }))));
990
+ })));
906
991
  }
907
992
  //@ts-ignore
908
993
  thumbnailOption(option) {
909
994
  return h("div", { class: "s-product-options-thumbnails-wrapper" }, option.details.map((detail) => {
910
- 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: IconVerified, class: "s-product-options-thumbnails-icon" }), this.isOptionDetailOut(detail) ?
995
+ const isOutOfStock = this.isOptionDetailOut(detail);
996
+ 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: IconVerified, class: "s-product-options-thumbnails-icon" }), isOutOfStock ?
911
997
  [
912
- h("small", { key: detail.id, class: "s-product-options-thumbnails-stock-badge" }, this.outOfStockText),
913
- this.canDisabled ? h("div", { key: detail.id, class: "s-product-options-thumbnails-badge-overlay" }) : '',
998
+ h("small", { key: `badge-${detail.id}`, class: "s-product-options-thumbnails-stock-badge" }, this.outOfStockText),
999
+ this.canDisabled ? h("div", { key: `overlay-${detail.id}`, class: "s-product-options-thumbnails-badge-overlay" }) : '',
914
1000
  ]
915
1001
  : ''), h("p", null, this.getOptionDetailName(detail, false), " "));
916
1002
  }));
@@ -925,7 +1011,8 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
925
1011
  }
926
1012
  countryOption(option) {
927
1013
  return h("div", { class: "s-product-options-digital-card-wrapper" }, option.details.map((detail) => {
928
- 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 => {
1014
+ const isOutOfStock = this.isOptionDetailOut(detail);
1015
+ 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 => {
929
1016
  e.currentTarget.onerror = null;
930
1017
  e.currentTarget.src =
931
1018
  salla.url.cdn('images/globe.svg');
@@ -941,6 +1028,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
941
1028
  "uniqueKey": [1, "unique-key"],
942
1029
  "bundleContext": [1, "bundle-context"],
943
1030
  "config": [1],
1031
+ "noPadding": [4, "no-padding"],
944
1032
  "optionsData": [32],
945
1033
  "outOfStockText": [32],
946
1034
  "donationAmount": [32],
@@ -955,6 +1043,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
955
1043
  "availableDigitalCardValues": [32],
956
1044
  "userInitiatedValidation": [32],
957
1045
  "isCartMode": [32],
1046
+ "availabilityMap": [32],
958
1047
  "setOptionsData": [64],
959
1048
  "getOptionsData": [64],
960
1049
  "getSelectedOptionsData": [64],
@@ -962,6 +1051,7 @@ const SallaProductOptions = /*@__PURE__*/ proxyCustomElement(class SallaProductO
962
1051
  "hasOutOfStockOption": [64],
963
1052
  "getSelectedOptions": [64],
964
1053
  "getOption": [64],
1054
+ "seedSelectedOptions": [64],
965
1055
  "enterCartMode": [64],
966
1056
  "enableUserInitiatedValidation": [64],
967
1057
  "validateAndScroll": [64]
@@ -59,11 +59,11 @@ const SallaProductSizeGuide$1 = /*@__PURE__*/ proxyCustomElement(class SallaProd
59
59
  return h("salla-placeholder", { alignment: "center", iconSize: "xl" }, h("div", { slot: "title" }, this.placeholder_title), h("div", { slot: "description" }, this.placeholder_description));
60
60
  }
61
61
  render() {
62
- return (h("salla-modal", { key: 'de368aff05a19d87eb4e99f4e1d7eee36155f435', class: "s-product-size-guide-wrapper", id: 'salla-product-size-guide-modal', isLoading: true, "has-skeleton": true, width: "md", ref: modal => this.modal = modal }, h("span", { key: 'c4ab31b3e6ef2751761ca2db27554f7f5bf057fc', slot: 'icon', class: "s-product-size-guide-header-icon", innerHTML: PencilRuler }), h("div", { key: '17cfceb5ccb0546928f87f956267e9d0c11017ac', slot: "loading" }, h("div", { key: '4f4e20a62396d7825315203ffd22a72030e821b1', class: "s-product-size-guide-skeleton" }, h("salla-skeleton", { key: 'd9132b26634ae1997dad9f1229b248c2cd76fff0', height: '15px', width: '25%' }), h("div", { key: '1b6a236851eef6e7caf7b7a0e84e591824b4e4ef', class: "s-product-size-guide-skeleton-header" }, h("salla-skeleton", { key: 'bae06741881b57b4eb853f1256a22f9393d9cea4', height: '40px' }), h("salla-skeleton", { key: 'fdeb75a853f89df154b69dbd48fc8e233561af59', height: '40px' }), h("salla-skeleton", { key: 'd0be70bc141f04fd24adc86c56eec3a5e896f2d4', height: '40px' }), h("salla-skeleton", { key: 'c5146addbf2d5b9bda05170a9743cad0e08d8674', height: '40px' })), h("div", { key: '04dbbffe2de708c984c5d0966aa2b86c0051bd14', class: "s-product-size-guide-skeleton-content" }, h("salla-skeleton", { key: '320fb33a2e5d9ee1f4b87c18b3f3dd13de180d4f', height: '15px', width: '25%' }), h("salla-skeleton", { key: 'f06aeac8e2f8ea86ec9b1c5c6f2b31172f23209f', height: '10px', width: '75%' }), h("salla-skeleton", { key: '1accf852a34edcac77a77151ebf67ba8e05cc729', height: '10px', width: '50%' }), h("salla-skeleton", { key: '42d4c3364779a6ee130339e37affe2e0c590e6a7', height: '10px', width: '75%' }), h("salla-skeleton", { key: '13064a231460414b4a0abd19dda41b01ac1ee04f', height: '10px', width: '100%' }), h("salla-skeleton", { key: 'd5a50f96ca3bab125503f836cd883cfb98ca135d', height: '10px', width: '25%' }), h("salla-skeleton", { key: '11cd2ed36d9754c32173f14cd7d5ea99fc2b5577', height: '10px', width: '60%' }), h("salla-skeleton", { key: 'a5b3a192d0e38dc13a025b8b8e0aba767f35611b', height: '10px', width: '45%' }), h("salla-skeleton", { key: 'dddcb26038e180fb5b686b29d286316d4314909f', height: '10px', width: '30%' })))), h("slot", { key: '43a08b9b6e64955b726b832f0849617ac31d4c25', name: "header" }), !this.hasError && !!this.guides ?
62
+ return (h("salla-modal", { key: '750cca54e5286fc1b77942cc4a9784970b8569ec', class: "s-product-size-guide-wrapper", id: 'salla-product-size-guide-modal', isLoading: true, "has-skeleton": true, width: "md", ref: modal => this.modal = modal }, h("span", { key: '0aecc3b447a0ef8f92183c1c785c2a8bbf139c17', slot: 'icon', class: "s-product-size-guide-header-icon", innerHTML: PencilRuler }), h("div", { key: '1720d30460d99d578365cae9d6a0e92790f834a2', slot: "loading" }, h("div", { key: '0bf85ba5de7db72b7e4f4d94e592dc951c1d3801', class: "s-product-size-guide-skeleton" }, h("salla-skeleton", { key: '3635e6c238400762f5c70266bb8359cf3c1c0527', height: '15px', width: '25%' }), h("div", { key: '0adfa776efbf9e7d988d08a3dce69900d6d3d737', class: "s-product-size-guide-skeleton-header" }, h("salla-skeleton", { key: '53799c8bd0f495ec723d0cf4be0ab0e978351c23', height: '40px' }), h("salla-skeleton", { key: 'a825da569d6453a5e3b6cac9cf5848f941af22ae', height: '40px' }), h("salla-skeleton", { key: 'd2091d09ca662aef1f2d6b3cddb4bf86ccc77c0f', height: '40px' }), h("salla-skeleton", { key: '5974a5b7227d03979ea5a65f2f1481f59ca6e0fe', height: '40px' })), h("div", { key: '6e12dc1b703488433f5e8047efe16d70ebaec8c3', class: "s-product-size-guide-skeleton-content" }, h("salla-skeleton", { key: '9d54f957ba7e4c78fff9ed693179d5f7faa55a25', height: '15px', width: '25%' }), h("salla-skeleton", { key: '946eedae2371d7df9d1b9cf8cf1b0f7800554eed', height: '10px', width: '75%' }), h("salla-skeleton", { key: '35d38d23f73bb4bbd4dc5372b70cd34f09cec2ea', height: '10px', width: '50%' }), h("salla-skeleton", { key: '8f13518e172127af747f50773f7a7f0d64d2c0ba', height: '10px', width: '75%' }), h("salla-skeleton", { key: '759708410b562babb733f401cdf8ee310761b110', height: '10px', width: '100%' }), h("salla-skeleton", { key: 'ad8d12dcefe5fbbd8dfa4060a028a3387186ffa1', height: '10px', width: '25%' }), h("salla-skeleton", { key: '63c5864943ec23a3a42761c90ca019acd7118f8c', height: '10px', width: '60%' }), h("salla-skeleton", { key: '490d6078c8d382740eb92c825a08e2aad203c4af', height: '10px', width: '45%' }), h("salla-skeleton", { key: '10b0d73e6a34990a2d23554faec6bce24dcc234e', height: '10px', width: '30%' })))), h("slot", { key: '3d0a3e42eba7cc521e8df1fbb2e7323962bff5a8', name: "header" }), !this.hasError && !!this.guides ?
63
63
  [
64
64
  h("salla-tabs", null, this.guides.map((guide) => h("salla-tab-header", { slot: "header", name: guide.name }, h("span", null, guide.name))), this.guides.map((guide) => h("salla-tab-content", { slot: "content", name: guide.name }, h("div", { innerHTML: guide.description }))))
65
65
  ]
66
- : this.showPlaceholder(), h("slot", { key: '5ae0956ca1f9313b5ef3d01dbdcab32f2e975e05', name: "footer" })));
66
+ : this.showPlaceholder(), h("slot", { key: 'd1fc7cdbbd52a1c3c2b08f45a647e7ea1586cc9d', name: "footer" })));
67
67
  }
68
68
  get host() { return this; }
69
69
  static get style() { return sallaProductSizeGuideCss; }
@@ -3,13 +3,21 @@
3
3
  */
4
4
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
5
5
  import { H as Helper } from './Helper.js';
6
- import { d as defineCustomElement$b } from './salla-add-product-button2.js';
7
- import { d as defineCustomElement$a } from './salla-button2.js';
8
- import { d as defineCustomElement$9 } from './salla-count-down2.js';
9
- import { d as defineCustomElement$8 } from './salla-loading2.js';
10
- import { d as defineCustomElement$7 } from './salla-modal2.js';
11
- import { d as defineCustomElement$6 } from './salla-product-availability2.js';
12
- import { d as defineCustomElement$5 } from './salla-product-card2.js';
6
+ import { d as defineCustomElement$j } from './salla-add-product-button2.js';
7
+ import { d as defineCustomElement$i } from './salla-booking-field2.js';
8
+ import { d as defineCustomElement$h } from './salla-button2.js';
9
+ import { d as defineCustomElement$g } from './salla-color-picker2.js';
10
+ import { d as defineCustomElement$f } from './salla-conditional-fields2.js';
11
+ import { d as defineCustomElement$e } from './salla-count-down2.js';
12
+ import { d as defineCustomElement$d } from './salla-datetime-picker2.js';
13
+ import { d as defineCustomElement$c } from './salla-file-upload2.js';
14
+ import { d as defineCustomElement$b } from './salla-loading2.js';
15
+ import { d as defineCustomElement$a } from './salla-map2.js';
16
+ import { d as defineCustomElement$9 } from './salla-modal2.js';
17
+ import { d as defineCustomElement$8 } from './salla-order-options-modal2.js';
18
+ import { d as defineCustomElement$7 } from './salla-product-availability2.js';
19
+ import { d as defineCustomElement$6 } from './salla-product-card2.js';
20
+ import { d as defineCustomElement$5 } from './salla-product-options2.js';
13
21
  import { d as defineCustomElement$4 } from './salla-progress-bar2.js';
14
22
  import { d as defineCustomElement$3 } from './salla-quick-buy2.js';
15
23
  import { d as defineCustomElement$2 } from './salla-slider2.js';
@@ -149,7 +157,7 @@ function defineCustomElement() {
149
157
  if (typeof customElements === "undefined") {
150
158
  return;
151
159
  }
152
- const components = ["salla-products-slider", "salla-add-product-button", "salla-button", "salla-count-down", "salla-loading", "salla-modal", "salla-product-availability", "salla-product-card", "salla-progress-bar", "salla-quick-buy", "salla-slider", "salla-tel-input"];
160
+ const components = ["salla-products-slider", "salla-add-product-button", "salla-booking-field", "salla-button", "salla-color-picker", "salla-conditional-fields", "salla-count-down", "salla-datetime-picker", "salla-file-upload", "salla-loading", "salla-map", "salla-modal", "salla-order-options-modal", "salla-product-availability", "salla-product-card", "salla-product-options", "salla-progress-bar", "salla-quick-buy", "salla-slider", "salla-tel-input"];
153
161
  components.forEach(tagName => { switch (tagName) {
154
162
  case "salla-products-slider":
155
163
  if (!customElements.get(tagName)) {
@@ -158,35 +166,75 @@ function defineCustomElement() {
158
166
  break;
159
167
  case "salla-add-product-button":
160
168
  if (!customElements.get(tagName)) {
161
- defineCustomElement$b();
169
+ defineCustomElement$j();
170
+ }
171
+ break;
172
+ case "salla-booking-field":
173
+ if (!customElements.get(tagName)) {
174
+ defineCustomElement$i();
162
175
  }
163
176
  break;
164
177
  case "salla-button":
165
178
  if (!customElements.get(tagName)) {
166
- defineCustomElement$a();
179
+ defineCustomElement$h();
180
+ }
181
+ break;
182
+ case "salla-color-picker":
183
+ if (!customElements.get(tagName)) {
184
+ defineCustomElement$g();
185
+ }
186
+ break;
187
+ case "salla-conditional-fields":
188
+ if (!customElements.get(tagName)) {
189
+ defineCustomElement$f();
167
190
  }
168
191
  break;
169
192
  case "salla-count-down":
170
193
  if (!customElements.get(tagName)) {
171
- defineCustomElement$9();
194
+ defineCustomElement$e();
195
+ }
196
+ break;
197
+ case "salla-datetime-picker":
198
+ if (!customElements.get(tagName)) {
199
+ defineCustomElement$d();
200
+ }
201
+ break;
202
+ case "salla-file-upload":
203
+ if (!customElements.get(tagName)) {
204
+ defineCustomElement$c();
172
205
  }
173
206
  break;
174
207
  case "salla-loading":
175
208
  if (!customElements.get(tagName)) {
176
- defineCustomElement$8();
209
+ defineCustomElement$b();
210
+ }
211
+ break;
212
+ case "salla-map":
213
+ if (!customElements.get(tagName)) {
214
+ defineCustomElement$a();
177
215
  }
178
216
  break;
179
217
  case "salla-modal":
180
218
  if (!customElements.get(tagName)) {
181
- defineCustomElement$7();
219
+ defineCustomElement$9();
220
+ }
221
+ break;
222
+ case "salla-order-options-modal":
223
+ if (!customElements.get(tagName)) {
224
+ defineCustomElement$8();
182
225
  }
183
226
  break;
184
227
  case "salla-product-availability":
185
228
  if (!customElements.get(tagName)) {
186
- defineCustomElement$6();
229
+ defineCustomElement$7();
187
230
  }
188
231
  break;
189
232
  case "salla-product-card":
233
+ if (!customElements.get(tagName)) {
234
+ defineCustomElement$6();
235
+ }
236
+ break;
237
+ case "salla-product-options":
190
238
  if (!customElements.get(tagName)) {
191
239
  defineCustomElement$5();
192
240
  }