@salla.sa/twilight-components 2.14.471 → 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 (486) hide show
  1. package/dist/cjs/{filepond-nQfoJi-g.js → filepond-Cy1e6Ro5.js} +1 -1
  2. package/dist/cjs/{filepond-plugin-file-poster-hJ9M3t0L.js → filepond-plugin-file-poster-CLtWPKuV.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-validate-size-CgpDoJxO.js → filepond-plugin-file-validate-size-VaxUnQB7.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-type-B2KbrSbZ.js → filepond-plugin-file-validate-type-qjNEM_4Q.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-image-edit-BkNqlXrL.js → filepond-plugin-image-edit-DZdFIpzD.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-exif-orientation-P3Zfw8MQ.js → filepond-plugin-image-exif-orientation-CMDdMoTf.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-preview-CNXFmZth.js → filepond-plugin-image-preview-CckneKBe.js} +1 -1
  8. package/dist/cjs/{functions-B8CHu2z4.js → functions-DDLs9J1M.js} +1 -1
  9. package/dist/cjs/{index-GUQS0-Q-.js → index-BLZPuy15.js} +10 -14
  10. package/dist/cjs/{index-CPhoxBkB.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 +3 -3
  14. package/dist/cjs/salla-add-product-button_5.cjs.entry.js +333 -21
  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-B7zS9VE-.js → tracked-promise-B-bFT1y-.js} +1 -1
  101. package/dist/cjs/twilight.cjs.js +2 -2
  102. package/dist/cjs/{vanilla-picker-1QrQ9HZi.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-cart-coupons/salla-cart-coupons.js +1 -1
  113. package/dist/collection/components/salla-cart-summary/salla-cart-summary.js +1 -1
  114. package/dist/collection/components/salla-color-picker/salla-color-picker.js +1 -1
  115. package/dist/collection/components/salla-comment-form/salla-comment-form.js +1 -1
  116. package/dist/collection/components/salla-conditional-fields/salla-conditional-fields.js +1 -1
  117. package/dist/collection/components/salla-count-down/salla-count-down.js +1 -1
  118. package/dist/collection/components/salla-datetime-picker/salla-datetime-picker.js +1 -1
  119. package/dist/collection/components/salla-file-upload/salla-file-upload.js +2 -2
  120. package/dist/collection/components/salla-filters/salla-filters.js +1 -1
  121. package/dist/collection/components/salla-filters-widget/salla-filters-widget.js +2 -2
  122. package/dist/collection/components/salla-gifting/salla-gifting.js +2 -2
  123. package/dist/collection/components/salla-hook/salla-hook.js +1 -1
  124. package/dist/collection/components/salla-list-tile/salla-list-tile.js +1 -1
  125. package/dist/collection/components/salla-loading/salla-loading.js +1 -1
  126. package/dist/collection/components/salla-localization-modal/salla-localization-modal.js +1 -1
  127. package/dist/collection/components/salla-loyalty/salla-loyalty-prize-item.js +1 -1
  128. package/dist/collection/components/salla-loyalty-points-history/salla-loyalty-points-history.js +1 -1
  129. package/dist/collection/components/salla-loyalty-program/salla-loyalty-hero.js +3 -3
  130. package/dist/collection/components/salla-loyalty-program/salla-loyalty-point.js +4 -4
  131. package/dist/collection/components/salla-loyalty-program/salla-loyalty-reward.js +2 -2
  132. package/dist/collection/components/salla-loyalty-program/salla-reward-card.js +1 -1
  133. package/dist/collection/components/salla-loyalty-program/salla-reward-details.js +3 -3
  134. package/dist/collection/components/salla-loyalty-program/salla-reward-exchange.js +3 -3
  135. package/dist/collection/components/salla-maintenance-alert/salla-maintenance-alert.js +1 -1
  136. package/dist/collection/components/salla-map/salla-map.js +3 -3
  137. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-cart.js +1 -1
  138. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-details.js +2 -2
  139. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-options-modal.js +4 -4
  140. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-slider.js +1 -1
  141. package/dist/collection/components/salla-multiple-bundle-product/salla-multiple-bundle-product.js +1 -1
  142. package/dist/collection/components/salla-notifications/salla-notification-item.js +1 -1
  143. package/dist/collection/components/salla-offer-modal/salla-offer-modal.js +1 -1
  144. package/dist/collection/components/salla-order-details/salla-order-details.js +1 -1
  145. package/dist/collection/components/salla-order-edit/salla-order-edit-product-card.js +1 -1
  146. package/dist/collection/components/salla-order-options-modal/apple-pay-order-options.js +84 -0
  147. package/dist/collection/components/salla-order-options-modal/order-options-gate.js +136 -0
  148. package/dist/collection/components/salla-order-options-modal/salla-order-options-modal.css +35 -0
  149. package/dist/collection/components/salla-order-options-modal/salla-order-options-modal.js +282 -0
  150. package/dist/collection/components/salla-order-summary/salla-order-summary.js +1 -1
  151. package/dist/collection/components/salla-payments/salla-payments.js +2 -2
  152. package/dist/collection/components/salla-placeholder/salla-placeholder.js +1 -1
  153. package/dist/collection/components/salla-price-range/salla-price-range.js +2 -2
  154. package/dist/collection/components/salla-product-availability/salla-product-availability.js +1 -1
  155. package/dist/collection/components/salla-product-card/salla-product-card.js +5 -5
  156. package/dist/collection/components/salla-product-card-embed/salla-product-card-embed.js +1 -1
  157. package/dist/collection/components/salla-product-options/salla-product-options.js +65 -2
  158. package/dist/collection/components/salla-product-size-guide/salla-product-size-guide.js +2 -2
  159. package/dist/collection/components/salla-quantity-input/salla-quantity-input.js +1 -1
  160. package/dist/collection/components/salla-quick-buy/salla-quick-buy.js +70 -16
  161. package/dist/collection/components/salla-review-card/salla-review-card.js +1 -1
  162. package/dist/collection/components/salla-reviews/salla-reviews.js +1 -1
  163. package/dist/collection/components/salla-reviews-page/salla-reviews-page.js +1 -1
  164. package/dist/collection/components/salla-scopes/salla-scopes.js +1 -1
  165. package/dist/collection/components/salla-search/salla-search.js +5 -5
  166. package/dist/collection/components/salla-searchable-dropdown/salla-searchable-dropdown.js +4 -4
  167. package/dist/collection/components/salla-skeleton/salla-skeleton.js +1 -1
  168. package/dist/collection/components/salla-social/salla-social.js +1 -1
  169. package/dist/collection/components/salla-social-share/salla-social-share.js +1 -1
  170. package/dist/collection/components/salla-tabs/salla-tab-content.js +1 -1
  171. package/dist/collection/components/salla-tabs/salla-tab-header.js +1 -1
  172. package/dist/collection/components/salla-tabs/salla-tabs.js +1 -1
  173. package/dist/collection/components/salla-tel-input/salla-tel-input.js +1 -1
  174. package/dist/collection/components/salla-tooltip/salla-tooltip.js +1 -1
  175. package/dist/collection/components/salla-user-settings/salla-user-settings.js +1 -1
  176. package/dist/collection/components/salla-wishlist-actions/salla-wishlist-actions.js +1 -1
  177. package/dist/components/index.js +2 -2
  178. package/dist/components/index2.js +2540 -1699
  179. package/dist/components/index3.js +1699 -2540
  180. package/dist/components/location.js +2 -2
  181. package/dist/components/salla-accordion-body2.js +1 -1
  182. package/dist/components/salla-accordion-head2.js +2 -2
  183. package/dist/components/salla-accordion2.js +1 -1
  184. package/dist/components/salla-add-product-button2.js +205 -8
  185. package/dist/components/salla-alert.js +1 -1
  186. package/dist/components/salla-badge2.js +1 -1
  187. package/dist/components/salla-booking-field2.js +1 -1
  188. package/dist/components/salla-bottom-alert.js +2 -2
  189. package/dist/components/salla-bullet-delivery.js +3 -3
  190. package/dist/components/salla-cart-coupons.js +1 -1
  191. package/dist/components/salla-cart-summary.js +1 -1
  192. package/dist/components/salla-color-picker2.js +1 -1
  193. package/dist/components/salla-comment-form2.js +1 -1
  194. package/dist/components/salla-conditional-fields2.js +1 -1
  195. package/dist/components/salla-count-down2.js +1 -1
  196. package/dist/components/salla-datetime-picker2.js +2 -2
  197. package/dist/components/salla-file-upload2.js +2 -2
  198. package/dist/components/salla-filters-widget2.js +2 -2
  199. package/dist/components/salla-filters.js +1 -1
  200. package/dist/components/salla-gifting.js +2 -2
  201. package/dist/components/salla-hook.js +1 -1
  202. package/dist/components/salla-list-tile2.js +1 -1
  203. package/dist/components/salla-loading2.js +1 -1
  204. package/dist/components/salla-localization-modal.js +1 -1
  205. package/dist/components/salla-loyalty-hero2.js +3 -3
  206. package/dist/components/salla-loyalty-panel.js +66 -18
  207. package/dist/components/salla-loyalty-point2.js +6 -6
  208. package/dist/components/salla-loyalty-points-history.js +1 -1
  209. package/dist/components/salla-loyalty-prize-item.js +1 -1
  210. package/dist/components/salla-loyalty-program.js +68 -20
  211. package/dist/components/salla-loyalty-reward.js +2 -2
  212. package/dist/components/salla-maintenance-alert.js +1 -1
  213. package/dist/components/salla-map2.js +4 -4
  214. package/dist/components/salla-multiple-bundle-product-cart2.js +1 -1
  215. package/dist/components/salla-multiple-bundle-product-details2.js +2 -2
  216. package/dist/components/salla-multiple-bundle-product-options-modal2.js +4 -4
  217. package/dist/components/salla-multiple-bundle-product-slider2.js +1 -1
  218. package/dist/components/salla-multiple-bundle-product.js +1 -1
  219. package/dist/components/salla-notification-item2.js +1 -1
  220. package/dist/components/salla-offer-modal.js +65 -17
  221. package/dist/components/salla-order-details.js +1 -1
  222. package/dist/components/salla-order-edit-product-card.js +1 -1
  223. package/dist/components/salla-order-options-modal.d.ts +11 -0
  224. package/dist/components/salla-order-options-modal.js +9 -0
  225. package/dist/components/salla-order-options-modal2.js +303 -0
  226. package/dist/components/salla-order-summary.js +1 -1
  227. package/dist/components/salla-payments.js +2 -2
  228. package/dist/components/salla-placeholder2.js +1 -1
  229. package/dist/components/salla-price-range2.js +2 -2
  230. package/dist/components/salla-product-availability2.js +1 -1
  231. package/dist/components/salla-product-card-embed.js +1 -1
  232. package/dist/components/salla-product-card2.js +65 -17
  233. package/dist/components/salla-product-options2.js +30 -2
  234. package/dist/components/salla-product-size-guide.js +2 -2
  235. package/dist/components/salla-products-slider2.js +62 -14
  236. package/dist/components/salla-quantity-input2.js +1 -1
  237. package/dist/components/salla-quick-buy2.js +233 -18
  238. package/dist/components/salla-review-card2.js +1 -1
  239. package/dist/components/salla-reviews-page.js +1 -1
  240. package/dist/components/salla-reviews.js +1 -1
  241. package/dist/components/salla-reward-card2.js +1 -1
  242. package/dist/components/salla-reward-details2.js +67 -19
  243. package/dist/components/salla-reward-exchange2.js +3 -3
  244. package/dist/components/salla-scopes.js +1 -1
  245. package/dist/components/salla-search.js +5 -5
  246. package/dist/components/salla-searchable-dropdown2.js +4 -4
  247. package/dist/components/salla-skeleton2.js +1 -1
  248. package/dist/components/salla-social-share2.js +1 -1
  249. package/dist/components/salla-social.js +1 -1
  250. package/dist/components/salla-tab-content2.js +1 -1
  251. package/dist/components/salla-tab-header2.js +1 -1
  252. package/dist/components/salla-tabs2.js +1 -1
  253. package/dist/components/salla-tel-input2.js +2 -2
  254. package/dist/components/salla-tooltip2.js +1 -1
  255. package/dist/components/salla-user-settings.js +1 -1
  256. package/dist/components/salla-wishlist-actions.js +1 -1
  257. package/dist/esm/{filepond-Doklzvb6.js → filepond-BOdFx-k4.js} +1 -1
  258. package/dist/esm/{filepond-plugin-file-poster-BSBF1f0z.js → filepond-plugin-file-poster-B0plGjbP.js} +1 -1
  259. package/dist/esm/{filepond-plugin-file-validate-size-CbaXmA8m.js → filepond-plugin-file-validate-size-BFnLP4vL.js} +1 -1
  260. package/dist/esm/{filepond-plugin-file-validate-type-FjPelZ0O.js → filepond-plugin-file-validate-type-CKf0Z8YX.js} +1 -1
  261. package/dist/esm/{filepond-plugin-image-edit-BmG7tc8Q.js → filepond-plugin-image-edit-lPLGnaWD.js} +1 -1
  262. package/dist/esm/{filepond-plugin-image-exif-orientation-DhRt-kLt.js → filepond-plugin-image-exif-orientation-ad7mrSt5.js} +1 -1
  263. package/dist/esm/{filepond-plugin-image-preview-DZ2XM7gt.js → filepond-plugin-image-preview-D5dtrQjv.js} +1 -1
  264. package/dist/esm/{functions-_-9PUSBv.js → functions-nnPBSJY6.js} +1 -1
  265. package/dist/esm/{index-CJ2jUKh4.js → index-BtIvUNme.js} +1 -1
  266. package/dist/esm/{index-Cly9a4nm.js → index-CjnbnAFU.js} +10 -14
  267. package/dist/esm/loader.js +3 -3
  268. package/dist/esm/salla-accordion-body_2.entry.js +4 -4
  269. package/dist/esm/salla-accordion_6.entry.js +3 -3
  270. package/dist/esm/salla-add-product-button_5.entry.js +333 -21
  271. package/dist/esm/salla-advertisement.entry.js +1 -1
  272. package/dist/esm/salla-alert_2.entry.js +4 -4
  273. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  274. package/dist/esm/salla-apps-icons.entry.js +1 -1
  275. package/dist/esm/salla-badge.entry.js +2 -2
  276. package/dist/esm/salla-booking-field_7.entry.js +18 -18
  277. package/dist/esm/salla-bullet-delivery_2.entry.js +5 -5
  278. package/dist/esm/salla-cart-coupons.entry.js +2 -2
  279. package/dist/esm/salla-cart-item-offers_2.entry.js +2 -2
  280. package/dist/esm/salla-cashback-banner.entry.js +1 -1
  281. package/dist/esm/salla-comment-form_8.entry.js +5 -5
  282. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  283. package/dist/esm/salla-contacts.entry.js +1 -1
  284. package/dist/esm/salla-cookies-bar.entry.js +1 -1
  285. package/dist/esm/salla-count-down.entry.js +2 -2
  286. package/dist/esm/salla-custom-fields.entry.js +1 -1
  287. package/dist/esm/salla-delivery-promise.entry.js +1 -1
  288. package/dist/esm/salla-edit-order-button.entry.js +1 -1
  289. package/dist/esm/salla-filters-widget.entry.js +3 -3
  290. package/dist/esm/salla-filters.entry.js +2 -2
  291. package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
  292. package/dist/esm/salla-gifting.entry.js +3 -3
  293. package/dist/esm/salla-hook.entry.js +2 -2
  294. package/dist/esm/salla-infinite-scroll.entry.js +1 -1
  295. package/dist/esm/salla-installment.entry.js +1 -1
  296. package/dist/esm/salla-list-tile.entry.js +2 -2
  297. package/dist/esm/salla-localization-modal.entry.js +2 -2
  298. package/dist/esm/salla-login-modal.entry.js +1 -1
  299. package/dist/esm/salla-loyalty-banner.entry.js +2 -2
  300. package/dist/esm/salla-loyalty-hero_2.entry.js +9 -9
  301. package/dist/esm/salla-loyalty-panel.entry.js +3 -3
  302. package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
  303. package/dist/esm/salla-loyalty-points-history.entry.js +2 -2
  304. package/dist/esm/salla-loyalty-prize-item.entry.js +2 -2
  305. package/dist/esm/salla-loyalty-program.entry.js +3 -3
  306. package/dist/esm/salla-loyalty-reward.entry.js +4 -4
  307. package/dist/esm/salla-loyalty.entry.js +1 -1
  308. package/dist/esm/salla-maintenance-alert.entry.js +2 -2
  309. package/dist/esm/{salla-map.entry.js → salla-map_2.entry.js} +70 -5
  310. package/dist/esm/salla-menu.entry.js +1 -1
  311. package/dist/esm/salla-metadata.entry.js +1 -1
  312. package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +4 -4
  313. package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +6 -6
  314. package/dist/esm/salla-multiple-bundle-product.entry.js +2 -2
  315. package/dist/esm/salla-next-order-coupon.entry.js +1 -1
  316. package/dist/esm/salla-notification-item.entry.js +2 -2
  317. package/dist/esm/salla-notifications.entry.js +1 -1
  318. package/dist/esm/salla-offer-modal.entry.js +2 -2
  319. package/dist/esm/salla-offer.entry.js +1 -1
  320. package/dist/esm/salla-order-branch.entry.js +1 -1
  321. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  322. package/dist/esm/salla-order-details-options.entry.js +1 -1
  323. package/dist/esm/salla-order-details.entry.js +2 -2
  324. package/dist/esm/salla-order-edit-item.entry.js +1 -1
  325. package/dist/esm/salla-order-edit-product-card.entry.js +2 -2
  326. package/dist/esm/salla-order-edit.entry.js +1 -1
  327. package/dist/esm/{salla-product-card_2.entry.js → salla-order-options-modal_3.entry.js} +209 -7
  328. package/dist/esm/salla-order-summary.entry.js +2 -2
  329. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  330. package/dist/esm/salla-orders.entry.js +1 -1
  331. package/dist/esm/salla-payments.entry.js +3 -3
  332. package/dist/esm/salla-placeholder.entry.js +2 -2
  333. package/dist/esm/salla-price-range.entry.js +3 -3
  334. package/dist/esm/salla-product-card-embed.entry.js +2 -2
  335. package/dist/esm/salla-product-size-guide.entry.js +3 -3
  336. package/dist/esm/salla-products-list.entry.js +1 -1
  337. package/dist/esm/salla-quick-order.entry.js +1 -1
  338. package/dist/esm/salla-rating-modal.entry.js +1 -1
  339. package/dist/esm/salla-reward-action_4.entry.js +10 -10
  340. package/dist/esm/salla-scopes.entry.js +2 -2
  341. package/dist/esm/salla-search.entry.js +6 -6
  342. package/dist/esm/salla-skeleton.entry.js +2 -2
  343. package/dist/esm/salla-slider.entry.js +1 -1
  344. package/dist/esm/salla-social-share.entry.js +2 -2
  345. package/dist/esm/salla-social.entry.js +2 -2
  346. package/dist/esm/salla-tab-content_3.entry.js +4 -4
  347. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  348. package/dist/esm/salla-tooltip.entry.js +2 -2
  349. package/dist/esm/salla-trust-badges.entry.js +1 -1
  350. package/dist/esm/salla-user-menu.entry.js +1 -1
  351. package/dist/esm/salla-user-profile.entry.js +1 -1
  352. package/dist/esm/salla-user-settings.entry.js +2 -2
  353. package/dist/esm/salla-verify.entry.js +1 -1
  354. package/dist/esm/salla-wallet.entry.js +1 -1
  355. package/dist/esm/salla-wishlist-actions.entry.js +2 -2
  356. package/dist/esm/{tracked-promise-CdJOz1H_.js → tracked-promise-DxK5ancc.js} +1 -1
  357. package/dist/esm/twilight.js +3 -3
  358. package/dist/esm/{vanilla-picker-B7uhKtBD.js → vanilla-picker-BNKvceoq.js} +1 -1
  359. package/dist/twilight/{p-d7f528c7.entry.js → p-01995780.entry.js} +1 -1
  360. package/dist/twilight/{p-79c2cc3c.entry.js → p-02822e9f.entry.js} +1 -1
  361. package/dist/twilight/p-080444bb.entry.js +4 -0
  362. package/dist/twilight/{p-4d368d57.entry.js → p-0d01c327.entry.js} +1 -1
  363. package/dist/twilight/{p-14ca32a2.entry.js → p-0dcb8111.entry.js} +1 -1
  364. package/dist/twilight/p-129c20ed.entry.js +4 -0
  365. package/dist/twilight/{p-c992256d.entry.js → p-15541ca3.entry.js} +1 -1
  366. package/dist/twilight/{p-c5f3b4e2.entry.js → p-155d4693.entry.js} +1 -1
  367. package/dist/twilight/{p-d07ee0d6.entry.js → p-1982cd13.entry.js} +1 -1
  368. package/dist/twilight/{p-96825a64.entry.js → p-1b8c59cf.entry.js} +1 -1
  369. package/dist/twilight/{p-05fdfdc9.entry.js → p-1dc58168.entry.js} +1 -1
  370. package/dist/twilight/{p-6ba653dc.entry.js → p-1f3480ba.entry.js} +1 -1
  371. package/dist/twilight/p-241b94a6.entry.js +4 -0
  372. package/dist/twilight/{p-63be9782.entry.js → p-2b75426a.entry.js} +1 -1
  373. package/dist/twilight/{p-aae74199.entry.js → p-2dc46abc.entry.js} +1 -1
  374. package/dist/twilight/{p-0e9ae0e0.entry.js → p-2eaf114e.entry.js} +1 -1
  375. package/dist/twilight/{p-ef345c2c.entry.js → p-304f3de9.entry.js} +1 -1
  376. package/dist/twilight/p-35f30553.entry.js +4 -0
  377. package/dist/twilight/{p-820ee5fe.entry.js → p-3adacc75.entry.js} +1 -1
  378. package/dist/twilight/{p-130b525c.entry.js → p-3e9f8d3c.entry.js} +1 -1
  379. package/dist/twilight/{p-5ca57591.entry.js → p-407a0c14.entry.js} +1 -1
  380. package/dist/twilight/{p-b96e442c.entry.js → p-43affbdd.entry.js} +1 -1
  381. package/dist/twilight/{p-7874b654.entry.js → p-456cfec5.entry.js} +1 -1
  382. package/dist/twilight/{p-4ba3ebb1.entry.js → p-46c8b2d4.entry.js} +1 -1
  383. package/dist/twilight/{p-55b21f9b.entry.js → p-474b22b8.entry.js} +1 -1
  384. package/dist/twilight/{p-821fd8c1.entry.js → p-49c42118.entry.js} +1 -1
  385. package/dist/twilight/p-5089b72f.entry.js +4 -0
  386. package/dist/twilight/{p-7ee71548.entry.js → p-5229c8aa.entry.js} +1 -1
  387. package/dist/twilight/{p-5b8adb19.entry.js → p-550a91fe.entry.js} +1 -1
  388. package/dist/twilight/{p-2d235234.entry.js → p-594694e9.entry.js} +1 -1
  389. package/dist/twilight/{p-f9c1c247.entry.js → p-5a18c6cc.entry.js} +1 -1
  390. package/dist/twilight/{p-7343e9d9.entry.js → p-5aa08192.entry.js} +1 -1
  391. package/dist/twilight/p-5bda616b.entry.js +4 -0
  392. package/dist/twilight/p-5d9b57c8.entry.js +4 -0
  393. package/dist/twilight/{p-68fa9305.entry.js → p-6030f1fd.entry.js} +1 -1
  394. package/dist/twilight/{p-25f7fbc1.entry.js → p-62010e29.entry.js} +1 -1
  395. package/dist/twilight/{p-5c0d795c.entry.js → p-63f1acc7.entry.js} +1 -1
  396. package/dist/twilight/p-6790943b.entry.js +4 -0
  397. package/dist/twilight/{p-b0f0d7bc.entry.js → p-67d41cbb.entry.js} +1 -1
  398. package/dist/twilight/{p-00f3a2ec.entry.js → p-6c39606a.entry.js} +1 -1
  399. package/dist/twilight/{p-e12da840.entry.js → p-6d6184c0.entry.js} +1 -1
  400. package/dist/twilight/{p-c5613717.entry.js → p-6eab2444.entry.js} +1 -1
  401. package/dist/twilight/{p-86469c65.entry.js → p-72a1b702.entry.js} +1 -1
  402. package/dist/twilight/{p-1938ad27.entry.js → p-7442c41a.entry.js} +1 -1
  403. package/dist/twilight/{p-20afc879.entry.js → p-7f4d4e3c.entry.js} +1 -1
  404. package/dist/twilight/{p-c9b37b12.entry.js → p-7fdeec2b.entry.js} +1 -1
  405. package/dist/twilight/{p-6efce4b0.entry.js → p-83cb6915.entry.js} +1 -1
  406. package/dist/twilight/{p-05266229.entry.js → p-88bed460.entry.js} +1 -1
  407. package/dist/twilight/{p-fa0ebde1.entry.js → p-8d1c4f93.entry.js} +1 -1
  408. package/dist/twilight/{p-a74197ee.entry.js → p-8d427c53.entry.js} +1 -1
  409. package/dist/twilight/p-929e5aed.entry.js +4 -0
  410. package/dist/twilight/p-956d6683.entry.js +4 -0
  411. package/dist/twilight/{p-CkxoydBy.js → p-BKKN_hn3.js} +1 -1
  412. package/dist/twilight/{p-D3bGV5Yn.js → p-BT5S72c8.js} +1 -1
  413. package/dist/twilight/{p-bo_zr0My.js → p-ByL3FHQ6.js} +1 -1
  414. package/dist/twilight/{p-CWrfZ9Qs.js → p-CBwG3dWv.js} +1 -1
  415. package/dist/twilight/{p-Cly9a4nm.js → p-CjnbnAFU.js} +1 -1
  416. package/dist/twilight/{p-C-NwbNqh.js → p-ClNJhnhN.js} +1 -1
  417. package/dist/twilight/p-Cq2cbPYZ.js +4 -0
  418. package/dist/twilight/p-Czf4a8gg.js +9 -0
  419. package/dist/twilight/{p-DGWMOt94.js → p-D6Z2cDb0.js} +1 -1
  420. package/dist/twilight/{p-b9tXSwoW.js → p-DBxZFsVz.js} +1 -1
  421. package/dist/twilight/{p-BpiX36Sb.js → p-DXVmi29t.js} +1 -1
  422. package/dist/twilight/{p-DhE0-1Aj.js → p-DY6O-SiT.js} +1 -1
  423. package/dist/twilight/{p-72bc753c.entry.js → p-a1e520d5.entry.js} +1 -1
  424. package/dist/twilight/{p-06a0b408.entry.js → p-a26fe1e5.entry.js} +1 -1
  425. package/dist/twilight/{p-44abf289.entry.js → p-a30cfade.entry.js} +1 -1
  426. package/dist/twilight/{p-08d2e056.entry.js → p-a9090afd.entry.js} +1 -1
  427. package/dist/twilight/{p-48e85ee2.entry.js → p-ae2c963f.entry.js} +1 -1
  428. package/dist/twilight/p-b18a446a.entry.js +4 -0
  429. package/dist/twilight/{p-8d26f80c.entry.js → p-b1c97472.entry.js} +1 -1
  430. package/dist/twilight/{p-f2d0b9d1.entry.js → p-bc6c4c1c.entry.js} +1 -1
  431. package/dist/twilight/{p-288572d0.entry.js → p-be10a9c3.entry.js} +1 -1
  432. package/dist/twilight/p-c26cf3fa.entry.js +4 -0
  433. package/dist/twilight/{p-cdb0e80a.entry.js → p-c4655810.entry.js} +1 -1
  434. package/dist/twilight/{p-92961807.entry.js → p-c5211eca.entry.js} +1 -1
  435. package/dist/twilight/{p-0b6d87a5.entry.js → p-cbd793c8.entry.js} +1 -1
  436. package/dist/twilight/{p-39ff606c.entry.js → p-cfb9665f.entry.js} +2 -2
  437. package/dist/twilight/{p-99b127fa.entry.js → p-d46fb24a.entry.js} +1 -1
  438. package/dist/twilight/{p-b8b3c0fc.entry.js → p-d6cb423a.entry.js} +1 -1
  439. package/dist/twilight/{p-84207e00.entry.js → p-d7a2e982.entry.js} +1 -1
  440. package/dist/twilight/{p-8aca6bc0.entry.js → p-d9868f07.entry.js} +1 -1
  441. package/dist/twilight/{p-eb767e28.entry.js → p-dbe3a5bb.entry.js} +1 -1
  442. package/dist/twilight/{p-b555a4aa.entry.js → p-e041fe56.entry.js} +1 -1
  443. package/dist/twilight/{p-af970c82.entry.js → p-e058b62c.entry.js} +1 -1
  444. package/dist/twilight/{p-195589ec.entry.js → p-e07c9a85.entry.js} +1 -1
  445. package/dist/twilight/{p-47080690.entry.js → p-e1275bf7.entry.js} +1 -1
  446. package/dist/twilight/{p-db2d9d1c.entry.js → p-e5d5a6b3.entry.js} +1 -1
  447. package/dist/twilight/p-e5e6ea75.entry.js +4 -0
  448. package/dist/twilight/{p-6838ec3a.entry.js → p-e7a255a3.entry.js} +1 -1
  449. package/dist/twilight/{p-f6435c3c.entry.js → p-ebebcd55.entry.js} +1 -1
  450. package/dist/twilight/{p-005ac762.entry.js → p-f0d7247d.entry.js} +1 -1
  451. package/dist/twilight/{p-dab62284.entry.js → p-f222bf9f.entry.js} +1 -1
  452. package/dist/twilight/{p-5fe6ac53.entry.js → p-f2594407.entry.js} +1 -1
  453. package/dist/twilight/{p-16c9b4bd.entry.js → p-f4235325.entry.js} +1 -1
  454. package/dist/twilight/p-fafdeea7.entry.js +4 -0
  455. package/dist/twilight/{p-8c404dbf.entry.js → p-fb7de7c4.entry.js} +1 -1
  456. package/dist/twilight/{p-03d28343.entry.js → p-fc1e3854.entry.js} +1 -1
  457. package/dist/twilight/{p-a47dccd1.entry.js → p-fc72b631.entry.js} +1 -1
  458. package/dist/twilight/{p-b07f1925.entry.js → p-fce2579c.entry.js} +1 -1
  459. package/dist/twilight/twilight.esm.js +1 -1
  460. package/dist/types/components/salla-add-product-button/salla-add-product-button.d.ts +2 -0
  461. package/dist/types/components/salla-order-options-modal/apple-pay-order-options.d.ts +26 -0
  462. package/dist/types/components/salla-order-options-modal/order-options-gate.d.ts +23 -0
  463. package/dist/types/components/salla-order-options-modal/salla-order-options-modal.d.ts +66 -0
  464. package/dist/types/components/salla-product-options/salla-product-options.d.ts +12 -0
  465. package/dist/types/components/salla-quick-buy/salla-quick-buy.d.ts +14 -0
  466. package/dist/types/components.d.ts +62 -0
  467. package/package.json +5 -5
  468. package/dist/cjs/salla-progress-bar.cjs.entry.js +0 -73
  469. package/dist/esm/salla-progress-bar.entry.js +0 -71
  470. package/dist/twilight/p-39426e43.entry.js +0 -4
  471. package/dist/twilight/p-40e2fc5f.entry.js +0 -4
  472. package/dist/twilight/p-46b4c12f.entry.js +0 -4
  473. package/dist/twilight/p-5971669a.entry.js +0 -4
  474. package/dist/twilight/p-654af42c.entry.js +0 -4
  475. package/dist/twilight/p-7e4e3e76.entry.js +0 -4
  476. package/dist/twilight/p-7efa0246.entry.js +0 -4
  477. package/dist/twilight/p-8e121e7c.entry.js +0 -4
  478. package/dist/twilight/p-98f0f411.entry.js +0 -4
  479. package/dist/twilight/p-9b7ad2bd.entry.js +0 -4
  480. package/dist/twilight/p-9ddfdc65.entry.js +0 -4
  481. package/dist/twilight/p-BUcuXVwN.js +0 -9
  482. package/dist/twilight/p-CXgdON62.js +0 -4
  483. package/dist/twilight/p-a900af64.entry.js +0 -4
  484. package/dist/twilight/p-c184157a.entry.js +0 -4
  485. package/dist/twilight/p-f5969e58.entry.js +0 -4
  486. package/dist/twilight/p-fbf4cb19.entry.js +0 -4
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-GUQS0-Q-.js');
6
+ var index = require('./index-BLZPuy15.js');
7
7
  var cart = require('./cart-s-x1Fshk.js');
8
8
  var Helper = require('./Helper-CgGR9Qf8.js');
9
9
  var bellRing = require('./bell-ring-BfKPinNo.js');
@@ -19,6 +19,140 @@ var WalletIcon = `<!-- Generated by IcoMoon.io -->
19
19
  </svg>
20
20
  `;
21
21
 
22
+ /**
23
+ * Order-options gate for the fast-checkout widget — keeps <salla-add-product-button> thin.
24
+ * Intercepts the widget click → runs the order-options modal → injects the result → re-fires the click.
25
+ */
26
+ const PRODUCT_FORM_SELECTOR = 'form.product-form';
27
+ class OrderOptionsGate {
28
+ constructor(host, productId) {
29
+ this.host = host;
30
+ this.productId = productId;
31
+ /** True on the re-fired click so it passes through instead of re-gating. */
32
+ this.collected = false;
33
+ /** Live PDP price (one onPriceUpdated subscription per widget). */
34
+ this.livePrice = 0;
35
+ }
36
+ /** Attach once to the widget. Returns false when there's no widget (e.g. product cards) so the caller retries. */
37
+ static attach(host, productId) {
38
+ const widget = host.querySelector('salla-mini-checkout-widget');
39
+ if (!widget)
40
+ return false;
41
+ const gate = new OrderOptionsGate(host, String(productId));
42
+ // One subscription per widget (PDP only) — no per-card leak.
43
+ salla.product?.event?.onPriceUpdated?.((response) => {
44
+ gate.livePrice = Number(response?.data?.price) || gate.livePrice;
45
+ });
46
+ widget.addEventListener('click', (event) => gate.handleWidgetClick(event, widget), true);
47
+ return true;
48
+ }
49
+ /** Quantity from the same form the widget submits (PRODUCT_FORM_SELECTOR), not the button's nearest form. */
50
+ getSelectedQuantity() {
51
+ try {
52
+ const form = document.querySelector(PRODUCT_FORM_SELECTOR);
53
+ const data = form?.getElementSallaData?.();
54
+ const qty = Number(data instanceof FormData ? data.get('quantity') : data?.quantity);
55
+ if (Number.isFinite(qty) && qty > 0)
56
+ return qty;
57
+ }
58
+ catch {
59
+ // fall through to the attribute
60
+ }
61
+ return Number(this.host.getAttribute('quantity')) || 1;
62
+ }
63
+ async handleWidgetClick(event, widget) {
64
+ if (this.collected) {
65
+ this.collected = false;
66
+ return;
67
+ }
68
+ event.preventDefault();
69
+ event.stopImmediatePropagation();
70
+ if (!await this.validatePdpOptions())
71
+ return;
72
+ if (salla.config.isGuest()) {
73
+ salla.api.auth.requireLoginThen('salla-add-product-button::oo.after-login', () => this.handleWidgetClick(event, widget));
74
+ return;
75
+ }
76
+ widget.classList.add('s-add-product-button-busy');
77
+ let resp;
78
+ try {
79
+ resp = await salla.api.withoutNotifier(() => salla.product.api.getOrderOptions([{ id: this.productId, quantity: this.getSelectedQuantity() }]));
80
+ }
81
+ catch (error) {
82
+ salla?.logger?.warn?.('order-options: fetch failed', error);
83
+ widget.classList.remove('s-add-product-button-busy');
84
+ this.resumeWidget(widget);
85
+ return;
86
+ }
87
+ widget.classList.remove('s-add-product-button-busy');
88
+ const items = resp?.data?.order_options || [];
89
+ if (!items.length) {
90
+ this.resumeWidget(widget);
91
+ return;
92
+ }
93
+ const basePrice = this.livePrice > 0
94
+ ? this.livePrice
95
+ : Number(resp?.data?.products?.[0]?.price?.amount) || 0;
96
+ const modal = this.ensureModal();
97
+ try {
98
+ const result = await modal.open({ orderOptions: items, basePrice });
99
+ this.injectIntoMini(result?.orderOptions || []);
100
+ this.resumeWidget(widget);
101
+ }
102
+ catch {
103
+ // user dismissed — widget stays blocked, they re-click to retry.
104
+ }
105
+ }
106
+ async validatePdpOptions() {
107
+ const optionsEl = document.querySelector(`salla-product-options[product-id="${this.productId}"]`);
108
+ if (!optionsEl)
109
+ return true;
110
+ if (typeof optionsEl.validateAndScroll === 'function') {
111
+ return await optionsEl.validateAndScroll();
112
+ }
113
+ if (typeof optionsEl.reportValidity === 'function') {
114
+ return await optionsEl.reportValidity();
115
+ }
116
+ return true;
117
+ }
118
+ /** Inject order_options into the next cart-add payload via `cart::before.add.item` (one-shot, scoped to productId). */
119
+ injectIntoMini(orderOptions) {
120
+ if (!orderOptions.length)
121
+ return;
122
+ const productId = this.productId;
123
+ const onceHandler = (eventData) => {
124
+ if (String(eventData?.id) !== String(productId))
125
+ return;
126
+ try {
127
+ eventData?.payload?.set?.('order_options', orderOptions);
128
+ }
129
+ finally {
130
+ salla.event.off('cart::before.add.item', onceHandler);
131
+ }
132
+ };
133
+ salla.event.on('cart::before.add.item', onceHandler);
134
+ }
135
+ ensureModal() {
136
+ let modal = document.querySelector('salla-order-options-modal');
137
+ if (!modal) {
138
+ modal = document.createElement('salla-order-options-modal');
139
+ document.body.appendChild(modal);
140
+ }
141
+ return modal;
142
+ }
143
+ resumeWidget(widget) {
144
+ this.collected = true;
145
+ // Real click target lives in the widget's shadow DOM.
146
+ const innerBtn = widget.shadowRoot?.querySelector?.('.s-fast-checkout-button');
147
+ if (innerBtn) {
148
+ innerBtn.click();
149
+ }
150
+ else if (typeof widget.click === 'function') {
151
+ widget.click();
152
+ }
153
+ }
154
+ }
155
+
22
156
  const sallaAddProductButtonCss = ":host{display:block}salla-add-product-button[width=wide]{width:100%}";
23
157
 
24
158
  const SallaAddProductButton = class {
@@ -44,6 +178,8 @@ const SallaAddProductButton = class {
44
178
  /** Use matchMedia instead of window.innerWidth to avoid forced reflow (Lighthouse/PageSpeed) */
45
179
  this.isDesktopViewport = typeof window !== 'undefined' ? window.matchMedia('(min-width: 768px)').matches : true;
46
180
  this.viewportMediaQuery = null;
181
+ /** Guards one-time attachment of the order-options gate to the mini-checkout widget. */
182
+ this.orderOptionsGateAttached = false;
47
183
  this.onViewportChange = (e) => {
48
184
  this.isDesktopViewport = e.matches;
49
185
  this.btn?.setText((e.matches && !!this.passedLabel) ? this.passedLabel : this.getLabel());
@@ -231,6 +367,13 @@ const SallaAddProductButton = class {
231
367
  });
232
368
  }
233
369
  componentDidRender() {
370
+ // Wire the order-options gate to the fast-checkout widget once it renders (logic lives in OrderOptionsGate).
371
+ // Only when the merchant enabled order options; otherwise the widget runs the normal fast-checkout flow.
372
+ if (!this.orderOptionsGateAttached && this.productId
373
+ && salla.config.get('store.settings.order_options.mandatory', false)
374
+ && OrderOptionsGate.attach(this.host, this.productId)) {
375
+ this.orderOptionsGateAttached = true;
376
+ }
234
377
  //if label not passed, get label
235
378
  if (!!this.passedLabel && (!this.supportStickyBar || this.isDesktopViewport)) {
236
379
  // if passed label, set it
@@ -576,7 +719,7 @@ const SallaProductAvailability = class {
576
719
  field.nextElementSibling['innerText'] = '* ' + errorMsg;
577
720
  }
578
721
  render() {
579
- return (index.h(index.Host, { key: '144b0687a0e527fa493aa701c334db76a7b42164', class: "s-product-availability-wrap" }, this.isSubscribedToProduct
722
+ return (index.h(index.Host, { key: '0779c3aef2637bfcd30ecf110d0cd31d819a82a5', class: "s-product-availability-wrap" }, this.isSubscribedToProduct
580
723
  ? index.h("div", { class: "s-product-availability-subscribed" }, index.h("span", { innerHTML: bellRing.BellRing, class: "s-product-availability-subs-icon" }), salla.lang.get('pages.products.notify_availability_success'))
581
724
  :
582
725
  index.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()));
@@ -693,6 +836,11 @@ const SallaProductOptions = class {
693
836
  * The id of the product to which the options are going to be fetched for.
694
837
  */
695
838
  this.productId = salla.config.get('page.id');
839
+ /**
840
+ * Strip the wrapper's padding (keeps the background, rounded corners, margin).
841
+ * Used by callers that need the options to sit flush inside their own surface.
842
+ */
843
+ this.noPadding = false;
696
844
  this.handleDonationOptions = (event, detail, type, _option) => {
697
845
  // Donating-amount input only: onInput updates price and dispatches native change for form price watcher.
698
846
  if (detail === 'custom' && type === 'input') {
@@ -1172,7 +1320,7 @@ const SallaProductOptions = class {
1172
1320
  if (this.optionsData?.length === 0) {
1173
1321
  return;
1174
1322
  }
1175
- return (index.h(index.Host, { class: "s-product-options-wrapper" }, index.h("salla-conditional-fields", null, this.optionsData.map((option) => index.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' ?
1323
+ return (index.h(index.Host, { class: { 's-product-options-wrapper': true, 's-product-options-no-padding': this.noPadding } }, index.h("salla-conditional-fields", null, this.optionsData.map((option) => index.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' ?
1176
1324
  this.splitterOption()
1177
1325
  : index.h("div", { class: { "s-product-options-option": true, "s-product-options-option-booking": option.type === interfaces.DisplayType.BOOKING && salla.url.is_page("cart") }, "data-option-type": option.type, "data-option-required": `${option.required}` }, index.h("label", { htmlFor: this.generateInputId(option.id), class: `s-product-options-option-label ${this.hideLabel(option) ? 's-product-options-option-label-hidden' : ''}` }, index.h("b", null, option.name, option.required && index.h("span", null, " * "), " "), index.h("small", null, option.placeholder)), index.h("div", { class: `s-product-options-option-content ${this.hideLabel(option) || (option.type === interfaces.DisplayType.BOOKING && salla.url.is_page("cart")) ? 's-product-options-option-content-full-width' : ''}` }, this.getDisplayForType(option))))))));
1178
1326
  }
@@ -1227,7 +1375,9 @@ const SallaProductOptions = class {
1227
1375
  }
1228
1376
  fillSelectedOptions() {
1229
1377
  this.selectedOptions = this.optionsData.reduce((acc, opt) => {
1230
- const selectedDetails = opt.details.filter(detail => detail.is_selected);
1378
+ // `details` is optional on the Option interface — input-type options
1379
+ // (text/number/date/file) carry no choice list, so guard before filtering.
1380
+ const selectedDetails = (opt.details ?? []).filter(detail => detail.is_selected);
1231
1381
  const mappedDetails = selectedDetails.map(detail => ({
1232
1382
  ...detail,
1233
1383
  option_id: opt.id
@@ -1235,6 +1385,25 @@ const SallaProductOptions = class {
1235
1385
  return acc.concat(mappedDetails);
1236
1386
  }, []);
1237
1387
  }
1388
+ /**
1389
+ * Seed `selectedOptions` from API defaults (`is_selected: true`).
1390
+ * componentWillLoad does this only on the cart page; non-cart callers
1391
+ * (e.g. order-options modal) call this after mount to avoid the first
1392
+ * multi-select toggle wiping the pre-selected defaults.
1393
+ * */
1394
+ async seedSelectedOptions() {
1395
+ this.fillSelectedOptions();
1396
+ // A required multi-select renders every checkbox `required`; handleRequiredMultipleOptions
1397
+ // clears that once one is checked, but it only fires on user `change`. After seeding a
1398
+ // pre-selected default we run it for the initial DOM so a defaulted-but-untouched required
1399
+ // multi-select doesn't fail validation and block checkout. Defer to rAF so the seeded
1400
+ // `checked` state is painted before we count it (matches the change-handler pattern above).
1401
+ requestAnimationFrame(() => {
1402
+ this.optionsData
1403
+ ?.filter(o => o.type === interfaces.DisplayType.MULTIPLE_OPTIONS && o.required)
1404
+ .forEach(o => this.handleRequiredMultipleOptions(o));
1405
+ });
1406
+ }
1238
1407
  async componentDidLoad() {
1239
1408
  if (!this.optionsData?.length) {
1240
1409
  return;
@@ -2061,7 +2230,15 @@ window.SallaApplePay = {
2061
2230
  SallaApplePay.session.oncouponcodechanged = SallaApplePay.onCouponCodeChanged;
2062
2231
  SallaApplePay.session.onpaymentmethodselected = SallaApplePay.onPaymentMethodSelected;
2063
2232
 
2064
- SallaApplePay.session.begin();
2233
+ // Hook between session creation and begin(). Return truthy to skip
2234
+ // begin() (caller handles it later, e.g. after async work).
2235
+ let skipBegin;
2236
+ if (typeof SallaApplePay.detail.onStartedSession === 'function') {
2237
+ skipBegin = SallaApplePay.detail.onStartedSession(SallaApplePay.session);
2238
+ }
2239
+ if (!skipBegin) {
2240
+ SallaApplePay.session.begin();
2241
+ }
2065
2242
  },
2066
2243
  onPaymentMethodSelected: async (event) => {
2067
2244
  salla.logger.log('🍏 Pay: onPaymentMethodSelected', event);
@@ -2479,6 +2656,88 @@ if (window.ApplePaySession?.canMakePayments()) {
2479
2656
  document.querySelectorAll('data-show-if-apple-pay-supported').forEach(element => element.style.display = 'none');
2480
2657
  }
2481
2658
 
2659
+ /**
2660
+ * Order-options helpers for the Apple Pay quick-buy flow — keeps <salla-quick-buy> to thin AP wiring.
2661
+ * Apple Pay resolves options inside the session-started hook (single gesture), so the caller owns
2662
+ * the ApplePaySession and drives it via callbacks.
2663
+ */
2664
+ /** Get-or-create the singleton order-options modal on <body>. */
2665
+ function ensureOrderOptionsModal() {
2666
+ let modal = document.querySelector('salla-order-options-modal');
2667
+ if (!modal) {
2668
+ modal = document.createElement('salla-order-options-modal');
2669
+ document.body.appendChild(modal);
2670
+ }
2671
+ return modal;
2672
+ }
2673
+ /** Sync PDP-option validity (an `await` would consume the Apple Pay gesture). Skips hidden/disabled inputs. */
2674
+ function reportProductOptionsValiditySync(productId) {
2675
+ const optionsElement = document.querySelector(`salla-product-options[product-id="${productId}"]`);
2676
+ if (!optionsElement)
2677
+ return true;
2678
+ const requiredInputs = optionsElement.querySelectorAll('[required]');
2679
+ let pass = true;
2680
+ requiredInputs.forEach((input) => {
2681
+ if (input.disabled || input.closest('.hidden'))
2682
+ return;
2683
+ if ('reportValidity' in input && !input.reportValidity())
2684
+ pass = false;
2685
+ });
2686
+ return pass;
2687
+ }
2688
+ /** Merge collected order-options into the quick-purchase payload (FormData or plain object). */
2689
+ function appendOrderOptionsToPayload(data, orderOptions) {
2690
+ if (!orderOptions.length)
2691
+ return;
2692
+ if (data && typeof data.append === 'function') {
2693
+ orderOptions.forEach((entry, i) => {
2694
+ data.append(`order_options[${i}][id]`, String(entry.id));
2695
+ data.append(`order_options[${i}][value]`, String(entry.value));
2696
+ });
2697
+ return;
2698
+ }
2699
+ if (data && typeof data === 'object') {
2700
+ data.order_options = orderOptions;
2701
+ }
2702
+ }
2703
+ /**
2704
+ * Fetch order options and, if any, collect them via the modal (apple-pay mode). Callbacks drive the
2705
+ * caller's pre-created session: `beginPendingSession` (no options), `discardPendingSession` (options
2706
+ * found — the modal's AP button starts a fresh one), `onSubmit` (submitted).
2707
+ */
2708
+ async function resolveApplePayOrderOptions(opts) {
2709
+ let resp;
2710
+ try {
2711
+ resp = await salla.api.withoutNotifier(() => salla.product.api.getOrderOptions([{ id: opts.productId, quantity: opts.quantity }]));
2712
+ }
2713
+ catch (error) {
2714
+ salla?.logger?.warn?.('order-options: fetch failed', error);
2715
+ opts.beginPendingSession();
2716
+ return;
2717
+ }
2718
+ const items = resp?.data?.order_options || [];
2719
+ if (!items.length) {
2720
+ opts.beginPendingSession(); // begin() doesn't need a fresh gesture
2721
+ return;
2722
+ }
2723
+ opts.discardPendingSession(); // drop the unused session; the modal builds a fresh one
2724
+ const basePrice = Number(opts.amount) > 0
2725
+ ? Number(opts.amount)
2726
+ : Number(resp?.data?.products?.[0]?.price?.amount) || 0;
2727
+ const modal = ensureOrderOptionsModal();
2728
+ try {
2729
+ await modal.open({
2730
+ orderOptions: items,
2731
+ basePrice,
2732
+ paymentMode: 'apple-pay',
2733
+ onSubmit: opts.onSubmit,
2734
+ });
2735
+ }
2736
+ catch {
2737
+ // dismissed — no live session
2738
+ }
2739
+ }
2740
+
2482
2741
  const sallaQuickBuyCss = ".s-quick-buy-button .s-button-text{display:flex}apple-pay-button{--apple-pay-button-width:100%;--apple-pay-button-height:40px;--apple-pay-button-border-radius:.75rem;--apple-pay-button-box-sizing:content-box}";
2483
2742
 
2484
2743
  const SallaQuickBuy = class {
@@ -2506,32 +2765,82 @@ const SallaQuickBuy = class {
2506
2765
  * @default {}
2507
2766
  */
2508
2767
  this.options = {};
2768
+ /** Modal selections, merged into the quick-purchase payload. */
2769
+ this.collectedOrderOptions = [];
2770
+ /** Flips true after the first onStartedSession so the second dispatch begins. */
2771
+ this.optionsResolved = false;
2772
+ /** PDP price + selected order-option prices (from the modal). */
2773
+ this.applePayAmount = 0;
2774
+ /** Session from the initial gesture; begun later when there are no order options. */
2775
+ this.pendingApplePaySession = null;
2509
2776
  this.quickBuy = salla.lang.get('pages.products.buy_now');
2777
+ /** Apple Pay onStartedSession: first call defers begin() to run the OO check; second (resolved) begins. */
2778
+ this.handleApplePaySessionStarted = (session) => {
2779
+ // Order options disabled → let Apple Pay begin normally, as if the feature didn't exist.
2780
+ if (!salla.config.get('store.settings.order_options.mandatory', false))
2781
+ return false;
2782
+ if (this.optionsResolved)
2783
+ return false;
2784
+ this.optionsResolved = true;
2785
+ this.pendingApplePaySession = session;
2786
+ resolveApplePayOrderOptions({
2787
+ productId: this.productId,
2788
+ amount: Number(this.amount),
2789
+ quantity: this.getSelectedQuantity(),
2790
+ beginPendingSession: () => {
2791
+ this.pendingApplePaySession?.begin();
2792
+ this.pendingApplePaySession = null;
2793
+ },
2794
+ discardPendingSession: () => { this.pendingApplePaySession = null; },
2795
+ onSubmit: (selections, total) => {
2796
+ this.collectedOrderOptions = selections;
2797
+ this.applePayAmount = total;
2798
+ this.settlePayment();
2799
+ },
2800
+ });
2801
+ return true;
2802
+ };
2510
2803
  salla.lang.onLoaded(() => {
2511
2804
  this.quickBuy = salla.lang.get('pages.products.buy_now');
2512
2805
  });
2513
2806
  }
2514
- async quickBuyHandler() {
2515
- // user guest and guest-checkout not enabled
2807
+ quickBuyHandler() {
2516
2808
  if (salla.config.isGuest() && !this.isGuestCheckout()) {
2517
2809
  this.requireLogin.emit({ productId: this.productId });
2518
- // todo (low) :: find a way to re-fire the method after success
2519
- let afterLoginEvent = "salla-quick-buy::user.logged-in";
2520
- salla.event.on(afterLoginEvent, () => this.settlePayment());
2521
- salla.api.auth.setAfterLoginEvent(afterLoginEvent);
2522
- return salla.auth.event.dispatch('login::open', { withoutReload: true });
2810
+ salla.api.auth.requireLoginThen('salla-quick-buy::user.logged-in', () => this.quickBuyHandler());
2811
+ return;
2812
+ }
2813
+ // Sync validate — AP needs the gesture preserved for new ApplePaySession().
2814
+ if (!this.validatePdpOptionsSync())
2815
+ return;
2816
+ this.optionsResolved = false;
2817
+ this.collectedOrderOptions = [];
2818
+ this.applePayAmount = 0;
2819
+ this.settlePayment();
2820
+ }
2821
+ /** Sync PDP-option validity (preserves the AP gesture); emits + notifies on failure. */
2822
+ validatePdpOptionsSync() {
2823
+ if (reportProductOptionsValiditySync(this.productId))
2824
+ return true;
2825
+ this.validationFailed.emit({ productId: this.productId });
2826
+ salla.error(salla.lang.get('common.messages.required_fields'));
2827
+ return false;
2828
+ }
2829
+ /** Read the live PDP quantity from the form so order-options match the real cart line. */
2830
+ getSelectedQuantity() {
2831
+ try {
2832
+ const data = this.host.getElementSallaData?.();
2833
+ const qty = Number(data instanceof FormData ? data.get('quantity') : data?.quantity);
2834
+ return Number.isFinite(qty) && qty > 0 ? qty : 1;
2835
+ }
2836
+ catch {
2837
+ return 1;
2523
2838
  }
2524
- await this.settlePayment();
2525
2839
  }
2526
2840
  async settlePayment() {
2527
- let optionsElement = document.querySelector(`salla-product-options[product-id="${this.productId}"]`);
2528
- //make sure all the required options are selected
2529
- if (optionsElement && !await optionsElement.reportValidity()) {
2530
- this.validationFailed.emit({ productId: this.productId });
2531
- return salla.error(salla.lang.get('common.messages.required_fields'));
2532
- }
2533
2841
  //use this way to get quantity too
2534
2842
  let data = this.host.getElementSallaData();
2843
+ appendOrderOptionsToPayload(data, this.collectedOrderOptions);
2535
2844
  // if the store doesn't have Apple Pay , just create a cart and then redirect to check out page
2536
2845
  if (!this.isApplePayActive) {
2537
2846
  // return salla.product.buyNow(this.productId, data);
@@ -2549,13 +2858,16 @@ const SallaQuickBuy = class {
2549
2858
  }
2550
2859
  // noinspection TypeScriptValidateJSTypes
2551
2860
  salla.event.dispatch('payments::apple-pay.start-transaction', {
2552
- amount: this.amount, // 1000
2861
+ // Prefer the modal's collected total (PDP price + selected OO additional_prices).
2862
+ // Falls back to PDP live amount when no OO modal ran.
2863
+ amount: this.applePayAmount > 0 ? this.applePayAmount : this.amount,
2553
2864
  currency: this.currency || 'SAR', // SAR
2554
2865
  requiredShippingContactFields: this.getRequiredShippingContactFields(),
2555
2866
  shippingMethods: this.isRequireShipping ? [] : undefined,
2556
2867
  supportedNetworks: salla.config.get('store.settings.buy_now.networks'),
2557
2868
  supportedCountries: salla.config.get('store.settings.buy_now.countries'),
2558
2869
  countryCode: salla.config.get('store.store_country') || 'SA',
2870
+ onStartedSession: this.handleApplePaySessionStarted,
2559
2871
  validateMerchant: {
2560
2872
  url: this.validateHost ? `${this.validateHost}/checkout/applepay/validate` : salla.url.get('checkout/applepay/validate'),
2561
2873
  onSuccess: (response) => {
@@ -2686,7 +2998,7 @@ const SallaQuickBuy = class {
2686
2998
  });
2687
2999
  }
2688
3000
  render() {
2689
- return index.h(index.Host, { key: '078fa17510403612cf8204899fee395f057b88bd' }, this.quickBuyButton());
3001
+ return index.h(index.Host, { key: 'fb1bdf862d9b9cea58df14862f7ec9c4be388585' }, this.quickBuyButton());
2690
3002
  }
2691
3003
  quickBuyButton() {
2692
3004
  return index.h("apple-pay-button", { locale: salla?.config?.get?.('user.language_code') || 'ar', onClick: () => this.quickBuyHandler(), "data-quick-purchase": "applepay", class: "s-quick-buy-apple-pay", "data-is-applepay": "1", buttonstyle: "black", type: this.type });
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-GUQS0-Q-.js');
6
+ var index = require('./index-BLZPuy15.js');
7
7
  var anime_es = require('./anime.es-BqW8JHZi.js');
8
8
 
9
9
  const sallaAdvertisementCss = ":host{display:block}";
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-GUQS0-Q-.js');
6
+ var index = require('./index-BLZPuy15.js');
7
7
  var cart = require('./cart-s-x1Fshk.js');
8
8
  var image = require('./image-BoZ6Hums.js');
9
9
 
@@ -36,7 +36,7 @@ const SallaAlert = class {
36
36
  }
37
37
  }
38
38
  render() {
39
- return (index.h(index.Host, { key: '3b5dd808399eeda5d930454542cd41cca26b0cc3', class: `s-alert-wrapper s-alert-${this.variant}` }, index.h("span", { key: '4f58234774d1afc790fb83bff983ca9366faa349', class: "s-alert-icon" }, this.renderIcon()), index.h("span", { key: '10eb3f87e6e77dcc5406a24f866feee1cc1f46ef', class: "s-alert-text" }, this.message, index.h("slot", { key: '3656e15aeb25fb7285e88f694c090bad3b32dfbd' }))));
39
+ return (index.h(index.Host, { key: 'e26a52cc275ac4c2e4090c113cb7e7d4d578fc11', class: `s-alert-wrapper s-alert-${this.variant}` }, index.h("span", { key: 'bdb1c6693b226a4e136e89640fcc19fbefc6e29e', class: "s-alert-icon" }, this.renderIcon()), index.h("span", { key: 'de8997f9617e74fc082ae9603bf16eac4c0a4b17', class: "s-alert-text" }, this.message, index.h("slot", { key: '37fb1adba1fa7f0226143250632cf20b514ee06b' }))));
40
40
  }
41
41
  };
42
42
  SallaAlert.style = sallaAlertCss;
@@ -186,9 +186,9 @@ const SallaBottomAlert = class {
186
186
  }
187
187
  render() {
188
188
  const hasTemplate = this.template && typeof this.template === 'object' && Object.keys(this.template).length > 0;
189
- return (index.h(index.Host, { key: 'b9eaef26dfe11005441af53a6413ec0ff0568cc6', class: `s-bottom-alert-wrapper ${hasTemplate ? 's-bottom-alert-wrapper-with-template' : ''}` }, hasTemplate && (index.h("div", { key: 'd47d95804f5146f8b692b200bf285a8547e758fa', class: "s-bottom-alert-logo-section" }, index.h("img", { key: 'cf20a9f6b77b11e27c2c282ee40c490fc9d31525', src: "https://cdn.salla.network/images/logo/logo-light.svg", alt: "Salla", class: "s-bottom-alert-logo" }), index.h("span", { key: 'd13eeaa4cc8918cf7a38925526f659e1041c1e8a', class: "s-bottom-alert-logo-text" }, this.readyStores))), index.h("div", { key: 'beac912a924cb879ca4b0fbc270febdd61c8822c', class: "s-bottom-alert-content" }, index.h("div", { key: '75ef41821088475f1715adcf3a54d8705a8bf2cc', class: "flex items-center gap-2" }, index.h("div", { key: '97c4f14fefc046d0f12249c7fc4ea25e436dfd98', class: "s-bottom-alert-icon" }, this.icon ? index.h("i", { class: this.icon }) : index.h("i", { innerHTML: infoIcon })), index.h("div", { key: '0e4f8dc0c15ea1ff3390ef5b494e9f4216eeb5db', class: "s-bottom-alert-message" }, this.message ? (this.message) : hasTemplate ? (index.h("span", { class: "flex flex-wrap items-center gap-1" }, this.defaultMessage, index.h("span", { class: {
189
+ return (index.h(index.Host, { key: '1e598df3c91be1e357fc5d771061ec386573f968', class: `s-bottom-alert-wrapper ${hasTemplate ? 's-bottom-alert-wrapper-with-template' : ''}` }, hasTemplate && (index.h("div", { key: '20a0173dfa6a01b793f8e1e9416d295ee4e61783', class: "s-bottom-alert-logo-section" }, index.h("img", { key: '2c9042f0ce022aeb9b2879496ec2837ed14dfe9f', src: "https://cdn.salla.network/images/logo/logo-light.svg", alt: "Salla", class: "s-bottom-alert-logo" }), index.h("span", { key: '69c2bc09acca8a535d2f982131ccc09d65ea44e6', class: "s-bottom-alert-logo-text" }, this.readyStores))), index.h("div", { key: '553122bac6f1f11c2bcc41a92ac798b3701ebfb9', class: "s-bottom-alert-content" }, index.h("div", { key: 'e0df96405998b70c15a8320c8400fa75db77d041', class: "flex items-center gap-2" }, index.h("div", { key: '26f241c725c763dfc25f58cdcd0f2979571a2061', class: "s-bottom-alert-icon" }, this.icon ? index.h("i", { class: this.icon }) : index.h("i", { innerHTML: infoIcon })), index.h("div", { key: '5e6ba42a2924aec3b99050e8f53634716023a535', class: "s-bottom-alert-message" }, this.message ? (this.message) : hasTemplate ? (index.h("span", { class: "flex flex-wrap items-center gap-1" }, this.defaultMessage, index.h("span", { class: {
190
190
  's-bottom-alert-message-highlight': true,
191
- }, "aria-label": "Developer" }, this.salla), index.h("span", { innerHTML: salla.money(this.template.price) }))) : (this.defaultMessage))), this.type !== 'banner' && (index.h("div", { key: 'dd6807a1bd8d78fe440e7d37371ed6bf31b3ac65', class: hasTemplate ? 's-bottom-alert-actions-group' : 's-bottom-alert-action' }, hasTemplate ? (this.loading ? (index.h("salla-loading", { size: "20" })) : (index.h("div", { class: "s-bottom-alert-actions-group-container" }, index.h("a", { class: "s-bottom-alert-action-link", onClick: () => this.handleAction() }, this.actionLabel || this.moreDetailsLabel), this.templateData?.link ? (index.h("button", { type: "button", class: "s-bottom-alert-action-purchase-button", onClick: () => window.open(this.templateData?.link, '_blank') }, this.buyTheTemplate)) : null))) : (index.h("salla-button", { href: this.actionUrl, size: "medium", onClick: () => this.handleAction(), width: "normal" }, this.actionLabel || this.defaultActionLabel)))), this.type === 'popup' && this.popup())));
191
+ }, "aria-label": "Developer" }, this.salla), index.h("span", { innerHTML: salla.money(this.template.price) }))) : (this.defaultMessage))), this.type !== 'banner' && (index.h("div", { key: '44c4d9499736d84da97b640b8ab063a6b9dd6d3c', class: hasTemplate ? 's-bottom-alert-actions-group' : 's-bottom-alert-action' }, hasTemplate ? (this.loading ? (index.h("salla-loading", { size: "20" })) : (index.h("div", { class: "s-bottom-alert-actions-group-container" }, index.h("a", { class: "s-bottom-alert-action-link", onClick: () => this.handleAction() }, this.actionLabel || this.moreDetailsLabel), this.templateData?.link ? (index.h("button", { type: "button", class: "s-bottom-alert-action-purchase-button", onClick: () => window.open(this.templateData?.link, '_blank') }, this.buyTheTemplate)) : null))) : (index.h("salla-button", { href: this.actionUrl, size: "medium", onClick: () => this.handleAction(), width: "normal" }, this.actionLabel || this.defaultActionLabel)))), this.type === 'popup' && this.popup())));
192
192
  }
193
193
  get host() { return index.getElement(this); }
194
194
  };
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-GUQS0-Q-.js');
6
+ var index = require('./index-BLZPuy15.js');
7
7
 
8
8
  const sallaAppInstallAlertCss = ":host{display:block}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-GUQS0-Q-.js');
6
+ var index = require('./index-BLZPuy15.js');
7
7
 
8
8
  const sallaAppsIconsCss = ":host{display:block}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-GUQS0-Q-.js');
6
+ var index = require('./index-BLZPuy15.js');
7
7
 
8
8
  function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function clsx(){for(var e,t,f=0,n="";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
9
9
 
@@ -87,7 +87,7 @@ const SallaBadge = class {
87
87
  this.bg = 'light';
88
88
  }
89
89
  render() {
90
- return (index.h("div", { key: '9d81a7c592a57a533e2b8a48f015e2f9e796be51', class: badge({ size: this.size, bg: this.bg, color: this.color }) }, index.h("slot", { key: '999e75ec14a8346d84dbfc5122c448999d4fc481' })));
90
+ return (index.h("div", { key: '54d35eb76a59251edb581786e5e89a83b6f8fbf0', class: badge({ size: this.size, bg: this.bg, color: this.color }) }, index.h("slot", { key: '4641cb434a2c0a6d7c004e3384848a200cb79dff' })));
91
91
  }
92
92
  };
93
93
  SallaBadge.style = sallaBadgeCss;