@salla.sa/twilight-components 2.14.591 → 2.14.593
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.
- package/dist/cjs/{apple-pay-order-options-B036Wu4O.js → apple-pay-order-options-CA8IYRTb.js} +1 -0
- package/dist/cjs/{filepond-DkObEO32.js → filepond-Dh9Ih7bu.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-wXgeY5cU.js → filepond-plugin-file-poster-C6Sx5vF0.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-CWleid1C.js → filepond-plugin-file-validate-size-DdzdetN6.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-CJLl2hbe.js → filepond-plugin-file-validate-type-DRWFKOpQ.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-Bp6AxXM9.js → filepond-plugin-image-edit-B4vaf2kZ.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-abWKSX9-.js → filepond-plugin-image-exif-orientation-BXfm40Ut.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-DxprNycS.js → filepond-plugin-image-preview-DQLCCOAs.js} +1 -1
- package/dist/cjs/{helpers-DBynEhOO.js → helpers-DSseNQ1K.js} +1 -1
- package/dist/cjs/{index-DBN0LueR.js → index-CLrjVXN1.js} +3 -3
- package/dist/cjs/{intlTelInput-B6H18Td2.js → intlTelInput-o62W18dw.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-accordion_6.cjs.entry.js +1 -1
- package/dist/cjs/salla-add-product-button_5.cjs.entry.js +152 -7
- package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
- package/dist/cjs/salla-alert_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-applied-filters.cjs.entry.js +1 -1
- package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
- package/dist/cjs/salla-attachment-view_9.cjs.entry.js +11 -11
- package/dist/cjs/salla-badge.cjs.entry.js +1 -1
- package/dist/cjs/salla-basket-gap.cjs.entry.js +1 -1
- package/dist/cjs/salla-bullet-delivery_3.cjs.entry.js +45 -34
- package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-summary-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-comment-factors.cjs.entry.js +1 -1
- package/dist/cjs/salla-comment-form_9.cjs.entry.js +3 -3
- package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
- package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
- package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
- package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
- package/dist/cjs/salla-delivery-promise.cjs.entry.js +2 -2
- package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters.cjs.entry.js +1 -1
- package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
- package/dist/cjs/salla-gift-card-redeem_2.cjs.entry.js +2 -2
- package/dist/cjs/salla-gifting.cjs.entry.js +2 -2
- package/dist/cjs/salla-hook.cjs.entry.js +1 -1
- package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
- package/dist/cjs/salla-installment.cjs.entry.js +1 -1
- package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
- package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-banner_10.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
- package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-map_3.cjs.entry.js +1 -1
- package/dist/cjs/salla-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
- package/dist/cjs/salla-notification-item_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-options-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-shipments.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-orders.cjs.entry.js +1 -1
- package/dist/cjs/salla-payments.cjs.entry.js +1 -1
- package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
- package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
- package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
- package/dist/cjs/salla-products-slider.cjs.entry.js +1 -1
- package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
- package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +1 -1
- package/dist/cjs/salla-rating-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-review-factors-tags.cjs.entry.js +2 -2
- package/dist/cjs/salla-review-order-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
- package/dist/cjs/salla-search-product-card.cjs.entry.js +3 -3
- package/dist/cjs/salla-search.cjs.entry.js +2 -2
- package/dist/cjs/salla-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/salla-social-share.cjs.entry.js +2 -2
- package/dist/cjs/salla-social.cjs.entry.js +2 -2
- package/dist/cjs/salla-tab-content_3.cjs.entry.js +4 -4
- package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-settings.cjs.entry.js +2 -2
- package/dist/cjs/salla-verify.cjs.entry.js +1 -1
- package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
- package/dist/cjs/salla-wishlist-actions.cjs.entry.js +2 -2
- package/dist/cjs/salla-wishlist-summary.cjs.entry.js +1 -1
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/cjs/{vanilla-picker-Cm71HMBs.js → vanilla-picker-FCNrUTtN.js} +1 -1
- package/dist/collection/components/salla-add-product-button/salla-add-product-button.css +58 -36
- package/dist/collection/components/salla-add-product-button/salla-add-product-button.js +120 -2
- package/dist/collection/components/salla-bullet-delivery/helpers.js +1 -1
- package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.js +39 -28
- package/dist/collection/components/salla-order-options-modal/apple-pay-order-options.js +1 -1
- package/dist/collection/components/salla-quick-buy/salla-quick-buy.js +17 -4
- package/dist/collection/components/salla-review-card/salla-review-card.js +1 -1
- package/dist/collection/components/salla-review-factors-tags/salla-review-factors-tags.js +1 -1
- package/dist/collection/components/salla-reviews-page/salla-reviews-page.js +1 -1
- package/dist/collection/components/salla-search/salla-search.js +1 -1
- package/dist/collection/components/salla-search-product-card/salla-search-product-card.js +2 -2
- package/dist/collection/components/salla-searchable-dropdown/salla-searchable-dropdown.js +4 -4
- package/dist/collection/components/salla-skeleton/salla-skeleton.js +1 -1
- package/dist/collection/components/salla-social/salla-social.js +1 -1
- package/dist/collection/components/salla-social-share/salla-social-share.js +1 -1
- package/dist/collection/components/salla-tabs/salla-tab-content.js +1 -1
- package/dist/collection/components/salla-tabs/salla-tab-header.js +1 -1
- package/dist/collection/components/salla-tabs/salla-tabs.js +1 -1
- package/dist/collection/components/salla-tel-input/salla-tel-input.js +1 -1
- package/dist/collection/components/salla-tooltip/salla-tooltip.js +1 -1
- package/dist/collection/components/salla-user-settings/salla-user-settings.js +1 -1
- package/dist/collection/components/salla-wishlist-actions/salla-wishlist-actions.js +1 -1
- package/dist/components/apple-pay-order-options.js +1 -1
- package/dist/components/helpers.js +2 -2
- package/dist/components/index.js +3 -3
- package/dist/components/salla-add-product-button2.js +120 -3
- package/dist/components/salla-bullet-delivery.js +40 -29
- package/dist/components/salla-delivery-promise.js +1 -1
- package/dist/components/salla-gifting.js +1 -1
- package/dist/components/salla-quick-buy2.js +35 -5
- package/dist/components/salla-review-card2.js +1 -1
- package/dist/components/salla-review-factors-tags2.js +1 -1
- package/dist/components/salla-reviews-page.js +1 -1
- package/dist/components/salla-search-product-card2.js +2 -2
- package/dist/components/salla-search.js +1 -1
- package/dist/components/salla-searchable-dropdown2.js +4 -4
- package/dist/components/salla-skeleton2.js +1 -1
- package/dist/components/salla-social-share2.js +1 -1
- package/dist/components/salla-social.js +1 -1
- package/dist/components/salla-tab-content2.js +1 -1
- package/dist/components/salla-tab-header2.js +1 -1
- package/dist/components/salla-tabs2.js +1 -1
- package/dist/components/salla-tel-input2.js +1 -1
- package/dist/components/salla-tooltip2.js +1 -1
- package/dist/components/salla-user-settings.js +1 -1
- package/dist/components/salla-wishlist-actions.js +1 -1
- package/dist/docs.json +29 -13
- package/dist/esm/{apple-pay-order-options-s0kn7yr8.js → apple-pay-order-options-BS2iQKah.js} +1 -1
- package/dist/esm/{filepond-Cstf5r6K.js → filepond-DTcw03Zq.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-GibBgGHW.js → filepond-plugin-file-poster-Csk5cMw9.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-CLc6zco6.js → filepond-plugin-file-validate-size-FFrf5LrW.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-Ca3dc8p0.js → filepond-plugin-file-validate-type-DeZP4xXd.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-CNGBLi7d.js → filepond-plugin-image-edit-DRKyd_1I.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-Dmmu9-UQ.js → filepond-plugin-image-exif-orientation-CxVz7OAy.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-KX15tx60.js → filepond-plugin-image-preview-CsKN7em3.js} +1 -1
- package/dist/esm/{helpers-BJxBnTgv.js → helpers-DgRxTSyJ.js} +2 -2
- package/dist/esm/{index-UnmOIma5.js → index-0Tl_yZW8.js} +3 -3
- package/dist/esm/{intlTelInput-C-F-rxZ3.js → intlTelInput-CBN9egFg.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-accordion-body_2.entry.js +1 -1
- package/dist/esm/salla-accordion_6.entry.js +1 -1
- package/dist/esm/salla-add-product-button_5.entry.js +152 -7
- package/dist/esm/salla-advertisement.entry.js +1 -1
- package/dist/esm/salla-alert_2.entry.js +1 -1
- package/dist/esm/salla-app-install-alert.entry.js +1 -1
- package/dist/esm/salla-applied-filters.entry.js +1 -1
- package/dist/esm/salla-apps-icons.entry.js +1 -1
- package/dist/esm/salla-attachment-view_9.entry.js +11 -11
- package/dist/esm/salla-badge.entry.js +1 -1
- package/dist/esm/salla-basket-gap.entry.js +1 -1
- package/dist/esm/salla-bullet-delivery_3.entry.js +45 -34
- package/dist/esm/salla-cart-coupons.entry.js +1 -1
- package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
- package/dist/esm/salla-cart-summary-card.entry.js +1 -1
- package/dist/esm/salla-cashback-banner.entry.js +1 -1
- package/dist/esm/salla-comment-factors.entry.js +1 -1
- package/dist/esm/salla-comment-form_9.entry.js +3 -3
- package/dist/esm/salla-conditional-offer.entry.js +1 -1
- package/dist/esm/salla-contacts.entry.js +1 -1
- package/dist/esm/salla-cookies-bar.entry.js +1 -1
- package/dist/esm/salla-count-down.entry.js +1 -1
- package/dist/esm/salla-custom-fields.entry.js +1 -1
- package/dist/esm/salla-delivery-promise.entry.js +2 -2
- package/dist/esm/salla-edit-order-button.entry.js +1 -1
- package/dist/esm/salla-filters-widget.entry.js +1 -1
- package/dist/esm/salla-filters.entry.js +1 -1
- package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
- package/dist/esm/salla-gift-card-redeem_2.entry.js +2 -2
- package/dist/esm/salla-gifting.entry.js +2 -2
- package/dist/esm/salla-hook.entry.js +1 -1
- package/dist/esm/salla-infinite-scroll.entry.js +1 -1
- package/dist/esm/salla-installment.entry.js +1 -1
- package/dist/esm/salla-list-tile.entry.js +1 -1
- package/dist/esm/salla-localization-modal.entry.js +1 -1
- package/dist/esm/salla-login-modal.entry.js +1 -1
- package/dist/esm/salla-loyalty-banner_10.entry.js +1 -1
- package/dist/esm/salla-loyalty-exchange-product-card.entry.js +1 -1
- package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
- package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
- package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm/salla-loyalty.entry.js +1 -1
- package/dist/esm/salla-maintenance-alert.entry.js +1 -1
- package/dist/esm/salla-map_3.entry.js +1 -1
- package/dist/esm/salla-menu.entry.js +1 -1
- package/dist/esm/salla-metadata.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-next-order-coupon.entry.js +1 -1
- package/dist/esm/salla-notification-item_2.entry.js +1 -1
- package/dist/esm/salla-offer-modal.entry.js +1 -1
- package/dist/esm/salla-offer.entry.js +1 -1
- package/dist/esm/salla-order-branch.entry.js +1 -1
- package/dist/esm/salla-order-cancel.entry.js +1 -1
- package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-order-details-options.entry.js +1 -1
- package/dist/esm/salla-order-details.entry.js +1 -1
- package/dist/esm/salla-order-edit-item.entry.js +1 -1
- package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
- package/dist/esm/salla-order-edit.entry.js +1 -1
- package/dist/esm/salla-order-options-modal.entry.js +1 -1
- package/dist/esm/salla-order-shipments.entry.js +1 -1
- package/dist/esm/salla-order-summary.entry.js +1 -1
- package/dist/esm/salla-order-totals-card.entry.js +1 -1
- package/dist/esm/salla-orders.entry.js +1 -1
- package/dist/esm/salla-payments.entry.js +1 -1
- package/dist/esm/salla-placeholder.entry.js +1 -1
- package/dist/esm/salla-price-range.entry.js +1 -1
- package/dist/esm/salla-product-card-embed.entry.js +1 -1
- package/dist/esm/salla-product-card.entry.js +1 -1
- package/dist/esm/salla-product-size-guide.entry.js +1 -1
- package/dist/esm/salla-products-list.entry.js +1 -1
- package/dist/esm/salla-products-slider.entry.js +1 -1
- package/dist/esm/salla-quick-order.entry.js +1 -1
- package/dist/esm/salla-rating-modal-v2.entry.js +1 -1
- package/dist/esm/salla-rating-modal.entry.js +1 -1
- package/dist/esm/salla-review-factors-tags.entry.js +2 -2
- package/dist/esm/salla-review-order-item.entry.js +1 -1
- package/dist/esm/salla-scopes.entry.js +1 -1
- package/dist/esm/salla-search-product-card.entry.js +3 -3
- package/dist/esm/salla-search.entry.js +2 -2
- package/dist/esm/salla-skeleton.entry.js +2 -2
- package/dist/esm/salla-social-share.entry.js +2 -2
- package/dist/esm/salla-social.entry.js +2 -2
- package/dist/esm/salla-tab-content_3.entry.js +4 -4
- package/dist/esm/salla-tiered-offer.entry.js +1 -1
- package/dist/esm/salla-trust-badges.entry.js +1 -1
- package/dist/esm/salla-user-menu.entry.js +1 -1
- package/dist/esm/salla-user-profile.entry.js +1 -1
- package/dist/esm/salla-user-settings.entry.js +2 -2
- package/dist/esm/salla-verify.entry.js +1 -1
- package/dist/esm/salla-wallet.entry.js +1 -1
- package/dist/esm/salla-wishlist-actions.entry.js +2 -2
- package/dist/esm/salla-wishlist-summary.entry.js +1 -1
- package/dist/esm/twilight.js +3 -3
- package/dist/esm/{vanilla-picker-DMAcm04D.js → vanilla-picker-CiLp9ysz.js} +1 -1
- package/dist/twilight/{p-e6de2f79.entry.js → p-01b4b05f.entry.js} +1 -1
- package/dist/twilight/{p-c1eab306.entry.js → p-0433773a.entry.js} +1 -1
- package/dist/twilight/p-0Tl_yZW8.js +5 -0
- package/dist/twilight/{p-5c313f74.entry.js → p-0c26bedf.entry.js} +1 -1
- package/dist/twilight/{p-f92f10c7.entry.js → p-0cc42e36.entry.js} +1 -1
- package/dist/twilight/{p-4b175320.entry.js → p-0fe961e0.entry.js} +1 -1
- package/dist/twilight/{p-fa3c4bcf.entry.js → p-14c9ed90.entry.js} +1 -1
- package/dist/twilight/{p-2f1c8e60.entry.js → p-179595d9.entry.js} +1 -1
- package/dist/twilight/{p-e3c46eea.entry.js → p-17f2114f.entry.js} +1 -1
- package/dist/twilight/{p-9d0658a0.entry.js → p-183e02ac.entry.js} +1 -1
- package/dist/twilight/{p-a5c693c1.entry.js → p-1892ea42.entry.js} +1 -1
- package/dist/twilight/{p-6dcfc119.entry.js → p-1abcc81d.entry.js} +1 -1
- package/dist/twilight/p-1bf7cce7.entry.js +4 -0
- package/dist/twilight/{p-9b01e5c2.entry.js → p-220338b4.entry.js} +1 -1
- package/dist/twilight/{p-9c284764.entry.js → p-253a352c.entry.js} +1 -1
- package/dist/twilight/{p-46ef2b4e.entry.js → p-26adf02d.entry.js} +1 -1
- package/dist/twilight/{p-78d1e145.entry.js → p-288627a2.entry.js} +1 -1
- package/dist/twilight/{p-8e938bfa.entry.js → p-299e7413.entry.js} +1 -1
- package/dist/twilight/{p-49f2ad4a.entry.js → p-2ac1eac9.entry.js} +1 -1
- package/dist/twilight/{p-426ac7ab.entry.js → p-2cbed601.entry.js} +1 -1
- package/dist/twilight/{p-ff65be76.entry.js → p-2d2db627.entry.js} +1 -1
- package/dist/twilight/{p-71372771.entry.js → p-2da1eb61.entry.js} +1 -1
- package/dist/twilight/{p-3d535509.entry.js → p-31253c2d.entry.js} +1 -1
- package/dist/twilight/{p-caec4a90.entry.js → p-35d5e339.entry.js} +1 -1
- package/dist/twilight/{p-170a29db.entry.js → p-3b5fe2ef.entry.js} +1 -1
- package/dist/twilight/{p-bb4a95d9.entry.js → p-3d533d87.entry.js} +1 -1
- package/dist/twilight/{p-18b786f4.entry.js → p-40be8baa.entry.js} +1 -1
- package/dist/twilight/{p-acd9c538.entry.js → p-42426756.entry.js} +1 -1
- package/dist/twilight/{p-1a7bee69.entry.js → p-4432411c.entry.js} +1 -1
- package/dist/twilight/{p-4b135194.entry.js → p-449eae1d.entry.js} +1 -1
- package/dist/twilight/{p-1aaed68f.entry.js → p-44afcd79.entry.js} +1 -1
- package/dist/twilight/{p-2e971549.entry.js → p-4701a008.entry.js} +1 -1
- package/dist/twilight/{p-0bee12ba.entry.js → p-4d852a57.entry.js} +1 -1
- package/dist/twilight/{p-a1d251d4.entry.js → p-4d879cd3.entry.js} +1 -1
- package/dist/twilight/{p-c1eaf8c3.entry.js → p-52e7b4f6.entry.js} +1 -1
- package/dist/twilight/{p-3d7fdd11.entry.js → p-5cc28510.entry.js} +1 -1
- package/dist/twilight/{p-42d6eb6b.entry.js → p-636ffc46.entry.js} +1 -1
- package/dist/twilight/{p-9d680306.entry.js → p-6561d5d3.entry.js} +1 -1
- package/dist/twilight/{p-d11b211f.entry.js → p-65665ee3.entry.js} +1 -1
- package/dist/twilight/{p-06268aeb.entry.js → p-6db61be2.entry.js} +1 -1
- package/dist/twilight/{p-a0e1d5f7.entry.js → p-75fc9b99.entry.js} +1 -1
- package/dist/twilight/{p-f5605df6.entry.js → p-775f9b02.entry.js} +1 -1
- package/dist/twilight/{p-36ac5a06.entry.js → p-7bee2390.entry.js} +1 -1
- package/dist/twilight/{p-7f23b98d.entry.js → p-7c038d9d.entry.js} +1 -1
- package/dist/twilight/{p-51d7a9f2.entry.js → p-7c06ad6a.entry.js} +1 -1
- package/dist/twilight/{p-e34ff202.entry.js → p-7f59893d.entry.js} +1 -1
- package/dist/twilight/{p-40a7f8c6.entry.js → p-80f27669.entry.js} +1 -1
- package/dist/twilight/{p-ce0c6667.entry.js → p-821e9049.entry.js} +1 -1
- package/dist/twilight/{p-a32fb61e.entry.js → p-85ab4182.entry.js} +1 -1
- package/dist/twilight/{p-398e864d.entry.js → p-8d369871.entry.js} +1 -1
- package/dist/twilight/{p-fb8395de.entry.js → p-8e013db1.entry.js} +1 -1
- package/dist/twilight/{p-e3066c95.entry.js → p-918fa44a.entry.js} +1 -1
- package/dist/twilight/{p-8ec3b9f0.entry.js → p-933807d7.entry.js} +1 -1
- package/dist/twilight/{p-da14ac3f.entry.js → p-9434c23f.entry.js} +1 -1
- package/dist/twilight/{p-2d983198.entry.js → p-95b89c32.entry.js} +1 -1
- package/dist/twilight/{p-2059ac26.entry.js → p-99e615a1.entry.js} +1 -1
- package/dist/twilight/{p-833fb416.entry.js → p-9a818822.entry.js} +1 -1
- package/dist/twilight/{p-CtQLzZ1X.js → p-BABHygiN.js} +1 -1
- package/dist/twilight/{p-D_C0F9n5.js → p-BDO2BBmv.js} +1 -1
- package/dist/twilight/p-BS2iQKah.js +4 -0
- package/dist/twilight/{p-C3HaKgMG.js → p-BZHrTB2v.js} +1 -1
- package/dist/twilight/{p-BOWrmsKT.js → p-CZkK9lyS.js} +1 -1
- package/dist/twilight/{p-xX3a9YdQ.js → p-Cbnu3aaI.js} +1 -1
- package/dist/twilight/{p-CjeoBv5q.js → p-CxpHph5p.js} +1 -1
- package/dist/twilight/{p-BJxBnTgv.js → p-DgRxTSyJ.js} +1 -1
- package/dist/twilight/{p-Dq91sWJh.js → p-MugjBhYh.js} +1 -1
- package/dist/twilight/p-YTWgVZ0u.js +9 -0
- package/dist/twilight/{p-f08ff103.entry.js → p-a263bdbb.entry.js} +1 -1
- package/dist/twilight/{p-a192abb7.entry.js → p-a735c70e.entry.js} +1 -1
- package/dist/twilight/{p-52b99743.entry.js → p-a764bfe7.entry.js} +1 -1
- package/dist/twilight/{p-ca47204f.entry.js → p-ad9dcb47.entry.js} +1 -1
- package/dist/twilight/{p-6b277129.entry.js → p-ae22bfeb.entry.js} +1 -1
- package/dist/twilight/{p-635cf0ae.entry.js → p-aec2d723.entry.js} +1 -1
- package/dist/twilight/{p-f69a3e84.entry.js → p-aee17b8b.entry.js} +1 -1
- package/dist/twilight/{p-ce7450a9.entry.js → p-af12fce1.entry.js} +1 -1
- package/dist/twilight/{p-13215fa2.entry.js → p-b01764d0.entry.js} +1 -1
- package/dist/twilight/{p-b7399739.entry.js → p-b0d66765.entry.js} +1 -1
- package/dist/twilight/{p-62842639.entry.js → p-b566bc10.entry.js} +1 -1
- package/dist/twilight/p-b81474c4.entry.js +4 -0
- package/dist/twilight/{p-e0ce5d4c.entry.js → p-b9d2ae8a.entry.js} +1 -1
- package/dist/twilight/{p-6a68c551.entry.js → p-bc3ad6d2.entry.js} +1 -1
- package/dist/twilight/{p-35163279.entry.js → p-bf3fdf6d.entry.js} +1 -1
- package/dist/twilight/{p-47e519e4.entry.js → p-c394f30a.entry.js} +1 -1
- package/dist/twilight/{p-d62c6529.entry.js → p-cc7c4469.entry.js} +1 -1
- package/dist/twilight/{p-81294230.entry.js → p-ce9b6ac6.entry.js} +1 -1
- package/dist/twilight/{p-21358994.entry.js → p-d05e1bfd.entry.js} +1 -1
- package/dist/twilight/{p-b70cdf88.entry.js → p-d744234e.entry.js} +1 -1
- package/dist/twilight/{p-f7b65338.entry.js → p-d851751c.entry.js} +1 -1
- package/dist/twilight/{p-540992c1.entry.js → p-dc129d7a.entry.js} +1 -1
- package/dist/twilight/{p-adfc54e4.entry.js → p-ddc61bff.entry.js} +1 -1
- package/dist/twilight/{p-efb67446.entry.js → p-deb1139c.entry.js} +1 -1
- package/dist/twilight/{p-a1d0c650.entry.js → p-e429b1e5.entry.js} +1 -1
- package/dist/twilight/{p-2e204cbc.entry.js → p-e8cb4cd9.entry.js} +1 -1
- package/dist/twilight/{p-2308e70c.entry.js → p-e8fa4bd0.entry.js} +1 -1
- package/dist/twilight/{p-27366663.entry.js → p-e9372ca0.entry.js} +1 -1
- package/dist/twilight/{p-7f93ea69.entry.js → p-e955b287.entry.js} +1 -1
- package/dist/twilight/{p-ea07afaa.entry.js → p-eb590773.entry.js} +1 -1
- package/dist/twilight/{p-1762cfe3.entry.js → p-f176c43e.entry.js} +1 -1
- package/dist/twilight/p-f445e7a3.entry.js +4 -0
- package/dist/twilight/{p-6e7a12dd.entry.js → p-f4cff5cf.entry.js} +1 -1
- package/dist/twilight/{p-700cf9fc.entry.js → p-f828fefc.entry.js} +1 -1
- package/dist/twilight/{p-48f9cd45.entry.js → p-f92d1971.entry.js} +1 -1
- package/dist/twilight/{p-DVatlmKV.js → p-fP9RBas5.js} +1 -1
- package/dist/twilight/{p-e1d59b7e.entry.js → p-fb527b4d.entry.js} +1 -1
- package/dist/twilight/{p-efb9f953.entry.js → p-fe27963f.entry.js} +1 -1
- package/dist/twilight/{p-328e352d.entry.js → p-fea37c8c.entry.js} +1 -1
- package/dist/twilight/{p-1dc68727.entry.js → p-fef5c118.entry.js} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-add-product-button/salla-add-product-button.d.ts +16 -0
- package/dist/types/components/salla-bullet-delivery/salla-bullet-delivery.d.ts +12 -0
- package/dist/types/components/salla-order-options-modal/apple-pay-order-options.d.ts +2 -0
- package/dist/types/components/salla-search/search-response.d.ts +1 -0
- package/package.json +5 -5
- package/dist/twilight/p-3845541d.entry.js +0 -4
- package/dist/twilight/p-38956156.entry.js +0 -4
- package/dist/twilight/p-UnmOIma5.js +0 -5
- package/dist/twilight/p-b5d6ddd7.entry.js +0 -4
- package/dist/twilight/p-iC3SM6Ji.js +0 -9
- package/dist/twilight/p-s0kn7yr8.js +0 -4
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-CLrjVXN1.js');
|
|
7
7
|
var cart = require('./cart-DSvlJXCH.js');
|
|
8
8
|
var Helper = require('./Helper-DgRzYZwR.js');
|
|
9
|
+
var applePayOrderOptions = require('./apple-pay-order-options-CA8IYRTb.js');
|
|
9
10
|
var catalogRecommendations = require('./catalog-recommendations-Bxs1t6wk.js');
|
|
10
11
|
var bellRing = require('./bell-ring-BfKPinNo.js');
|
|
11
12
|
var interfaces = require('./interfaces-Bh7W0bEU.js');
|
|
12
13
|
var check = require('./check-x3w3-gpj.js');
|
|
13
14
|
var camera = require('./camera-DytepEoK.js');
|
|
14
|
-
var applePayOrderOptions = require('./apple-pay-order-options-B036Wu4O.js');
|
|
15
15
|
require('./anime.es-BqW8JHZi.js');
|
|
16
16
|
|
|
17
17
|
var WalletIcon = `<!-- Generated by IcoMoon.io -->
|
|
@@ -53,6 +53,23 @@ function applePayMerchantId() {
|
|
|
53
53
|
return salla?.config?.get?.('store.settings.buy_now.merchant_identifier') || null;
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
+
/**
|
|
57
|
+
* Whether the store's Apple Pay is a hosted redirect rather than a native sheet.
|
|
58
|
+
*
|
|
59
|
+
* MyFatoorah Apple Pay without S2S has no native flow: the checkout page hands off as a
|
|
60
|
+
* credit_card redirect to MyFatoorah's hosted page. The buy-now surfaces (PDP, sticky bar)
|
|
61
|
+
* have no redirect path, so they must not offer an Apple Pay button at all.
|
|
62
|
+
*
|
|
63
|
+
* The backend publishes this as a single boolean (`ApplePayFeature::isHostedRedirect`).
|
|
64
|
+
* Compared with `=== true` on purpose: against a backend that predates the field the key is
|
|
65
|
+
* absent, so this returns false and every surface keeps its current behaviour. That is what
|
|
66
|
+
* makes the storefront half safe to ship independently of the backend half.
|
|
67
|
+
* @returns {boolean}
|
|
68
|
+
*/
|
|
69
|
+
function isApplePayHostedRedirect() {
|
|
70
|
+
return salla?.config?.get?.('store.settings.buy_now.hostedRedirect') === true;
|
|
71
|
+
}
|
|
72
|
+
|
|
56
73
|
/**
|
|
57
74
|
* Build the W3C Payment Request `methodData` for the Apple Pay method. Callers
|
|
58
75
|
* supply the values (the probe reads them from config; the live session reads
|
|
@@ -467,7 +484,7 @@ class FastCheckoutGate {
|
|
|
467
484
|
}
|
|
468
485
|
}
|
|
469
486
|
|
|
470
|
-
const sallaAddProductButtonCss = "/*!twlt*/:host{display:block}salla-add-product-button[width=wide]{width:100%}.sticky{position:sticky}.hidden{display:none}.w-full{width:100%}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-hidden{display:none}.btn{display:inline-flex;flex:1 1 0%;align-items:center;justify-content:center;white-space:nowrap;border-radius:0.375rem;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:0.625rem;padding-top:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.btn:hover{opacity:0.8}.s-hidden{display:none}.s-add-product-button-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.s-add-product-button-with-quick-buy{display:flex}@media (min-width: 640px){.s-add-product-button-with-quick-buy{flex-direction:column}}.s-add-product-button-with-quick-buy:not(.s-add-product-button-with-sticky-bar){flex-direction:column !important}.s-add-product-button-main{display:flex;width:66.666667%;column-gap:0.375rem}@media (min-width: 640px){.s-add-product-button-main{width:100%;column-gap:0.625rem}}.s-add-product-button-with-sticky-bar salla-quick-buy{width:33.333333%}@media (min-width: 640px){.s-add-product-button-with-sticky-bar salla-quick-buy{width:100%}}.s-add-product-button-with-quick-buy:not(.s-add-product-button-with-sticky-bar) .s-add-product-button-main{width:100%}.s-add-product-button-with-quick-buy:not(.s-add-product-button-with-apple-pay) .s-add-product-button-main{width:100%}.s-add-product-button-main:not(.w-full)>salla-button{width:50% !important}.s-add-product-button-main .s-add-product-button-mini-checkout{--salla-fast-checkout-button-border-radius:.75rem;width:50%}.s-add-product-button-with-sticky-bar{width:100% !important}@media (min-width: 640px){.s-add-product-button-with-sticky-bar{width:auto}}.s-add-product-button-with-apple-pay{column-gap:0.375rem}@media (min-width: 640px){.s-add-product-button-with-apple-pay{column-gap:unset}}.s-add-product-button-with-apple-pay:not(.s-add-product-button-with-sticky-bar) salla-quick-buy apple-pay-button{margin-top:0.625rem}.s-add-product-button-with-sticky-bar salla-quick-buy .s-quick-buy-button .s-button-text span{display:none}@media (min-width: 768px){.s-add-product-button-with-sticky-bar salla-quick-buy .s-quick-buy-button .s-button-text span{display:block}}.s-add-product-button-mini-checkout-content{display:flex;flex-shrink:0;align-items:center;white-space:nowrap;font-size:.8rem}@media (min-width: 640px){.s-add-product-button-mini-checkout-content{font-size:0.875rem;line-height:1.25rem}}.s-add-product-button-mini-checkout-content:where([dir=\"rtl\"],[dir=\"rtl\"] *){flex-direction:row-reverse}.s-add-product-button-mini-checkout-content svg{margin-right:0.375rem;height:1rem;width:1rem;fill:currentColor}.s-add-product-button-mini-checkout-content svg:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-right:0px;margin-left:0.375rem}.s-add-product-button-busy{pointer-events:none;position:relative}.s-add-product-button-busy::after{position:absolute;top:50%;left:50%;z-index:10;height:1rem;width:1rem;--tw-translate-x:-50%;content:var(--tw-content);--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{content:var(--tw-content);transform:rotate(360deg)}}.s-add-product-button-busy::after{animation:spin 1s linear infinite;border-radius:9999px;border-width:2px;border-style:solid;border-top-color:var(--color-primary);border-left-color:var(--color-primary);border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-border-opacity:1;border-right-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-content:'';content:var(--tw-content)}";
|
|
487
|
+
const sallaAddProductButtonCss = "/*!twlt*/:host{display:block}salla-add-product-button[width=wide]{width:100%}.s-add-product-button-buy-now{display:block;font-family:'PingARLT';font-weight:normal}.s-add-product-button-buy-now .s-fast-checkout-button{display:flex;align-items:center;justify-content:center;height:var(--salla-fast-checkout-button-height, 2.5rem);width:var(--salla-fast-checkout-button-width, 100%);border-radius:var(--salla-fast-checkout-button-border-radius, 0.375rem);font-size:0.875rem;font-weight:bold;text-transform:uppercase;cursor:pointer;transition:all 0.3s ease-in-out;border:none;font-family:'PingARLT';gap:5px;direction:ltr;border-width:1px;border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-primary-reverse);padding:1px 6px;line-height:normal;letter-spacing:normal;outline:none}.s-add-product-button-buy-now .s-fast-checkout-button:focus-visible{outline:auto}.s-add-product-button-buy-now .s-fast-checkout-button:hover{background-color:var(--color-primary)}.s-add-product-button-buy-now .s-fast-checkout-button.outline{background-color:transparent;border:1px solid var(--color-primary);color:var(--color-primary)}.s-add-product-button-buy-now .s-fast-checkout-button.rtl{flex-direction:row-reverse}.s-add-product-button-buy-now .s-fast-checkout-button:disabled{cursor:progress;opacity:0.7}.sticky{position:sticky}.hidden{display:none}.w-full{width:100%}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-hidden{display:none}.btn{display:inline-flex;flex:1 1 0%;align-items:center;justify-content:center;white-space:nowrap;border-radius:0.375rem;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:0.625rem;padding-top:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.btn:hover{opacity:0.8}.s-hidden{display:none}.s-add-product-button-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.s-add-product-button-with-quick-buy{display:flex}@media (min-width: 640px){.s-add-product-button-with-quick-buy{flex-direction:column}}.s-add-product-button-with-quick-buy:not(.s-add-product-button-with-sticky-bar){flex-direction:column !important}.s-add-product-button-main{display:flex;width:66.666667%;column-gap:0.375rem}@media (min-width: 640px){.s-add-product-button-main{width:100%;column-gap:0.625rem}}.s-add-product-button-with-sticky-bar salla-quick-buy{width:33.333333%}@media (min-width: 640px){.s-add-product-button-with-sticky-bar salla-quick-buy{width:100%}}.s-add-product-button-with-quick-buy:not(.s-add-product-button-with-sticky-bar) .s-add-product-button-main{width:100%}.s-add-product-button-with-quick-buy:not(.s-add-product-button-with-apple-pay) .s-add-product-button-main{width:100%}.s-add-product-button-main:not(.w-full)>salla-button{width:50% !important}.s-add-product-button-main .s-add-product-button-mini-checkout{--salla-fast-checkout-button-border-radius:.75rem;width:50%}.s-add-product-button-with-sticky-bar{width:100% !important}@media (min-width: 640px){.s-add-product-button-with-sticky-bar{width:auto}}.s-add-product-button-with-apple-pay{column-gap:0.375rem}@media (min-width: 640px){.s-add-product-button-with-apple-pay{column-gap:unset}}.s-add-product-button-with-apple-pay:not(.s-add-product-button-with-sticky-bar) salla-quick-buy apple-pay-button{margin-top:0.625rem}.s-add-product-button-with-sticky-bar salla-quick-buy .s-quick-buy-button .s-button-text span{display:none}@media (min-width: 768px){.s-add-product-button-with-sticky-bar salla-quick-buy .s-quick-buy-button .s-button-text span{display:block}}.s-add-product-button-mini-checkout-content{display:flex;flex-shrink:0;align-items:center;white-space:nowrap;font-size:.8rem}@media (min-width: 640px){.s-add-product-button-mini-checkout-content{font-size:0.875rem;line-height:1.25rem}}.s-add-product-button-mini-checkout-content:where([dir=\"rtl\"],[dir=\"rtl\"] *){flex-direction:row-reverse}.s-add-product-button-mini-checkout-content svg{margin-right:0.375rem;height:1rem;width:1rem;fill:currentColor}.s-add-product-button-mini-checkout-content svg:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-right:0px;margin-left:0.375rem}.s-add-product-button-busy{pointer-events:none;position:relative}.s-add-product-button-busy::after{position:absolute;top:50%;left:50%;z-index:10;height:1rem;width:1rem;--tw-translate-x:-50%;content:var(--tw-content);--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{content:var(--tw-content);transform:rotate(360deg)}}.s-add-product-button-busy::after{animation:spin 1s linear infinite;border-radius:9999px;border-width:2px;border-style:solid;border-top-color:var(--color-primary);border-left-color:var(--color-primary);border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-border-opacity:1;border-right-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-content:'';content:var(--tw-content)}";
|
|
471
488
|
|
|
472
489
|
const SallaAddProductButton = class {
|
|
473
490
|
constructor(hostRef) {
|
|
@@ -475,6 +492,11 @@ const SallaAddProductButton = class {
|
|
|
475
492
|
this.success = index.createEvent(this, "success");
|
|
476
493
|
this.failed = index.createEvent(this, "failed");
|
|
477
494
|
this.hostAttributes = {};
|
|
495
|
+
this.buyNowBusy = false;
|
|
496
|
+
/** Latest buy-now click; an older click still waiting on Bullet Delivery drops out. */
|
|
497
|
+
this.buyNowToken = 0;
|
|
498
|
+
this.buyNowLastClick = 0;
|
|
499
|
+
this.buyNowLivePrice = 0;
|
|
478
500
|
/**
|
|
479
501
|
* Has Pre Order
|
|
480
502
|
*/
|
|
@@ -489,6 +511,7 @@ const SallaAddProductButton = class {
|
|
|
489
511
|
this.productType = 'product';
|
|
490
512
|
this.selectedOptions = [];
|
|
491
513
|
this.buyNowText = salla.lang.get('pages.products.buy_now');
|
|
514
|
+
this.buyNowLoading = false;
|
|
492
515
|
/** Use matchMedia instead of window.innerWidth to avoid forced reflow (Lighthouse/PageSpeed) */
|
|
493
516
|
this.isDesktopViewport = typeof window !== 'undefined' ? window.matchMedia('(min-width: 768px)').matches : true;
|
|
494
517
|
this.viewportMediaQuery = null;
|
|
@@ -496,6 +519,9 @@ const SallaAddProductButton = class {
|
|
|
496
519
|
this.orderOptionsGateAttached = false;
|
|
497
520
|
/** Guards one-time attachment of the fast-checkout Bullet Delivery gate (logic lives in FastCheckoutGate). */
|
|
498
521
|
this.fastCheckoutGateAttached = false;
|
|
522
|
+
this.onBuyNowPriceUpdated = (response) => {
|
|
523
|
+
this.buyNowLivePrice = Number(response?.data?.price) || this.buyNowLivePrice;
|
|
524
|
+
};
|
|
499
525
|
this.onViewportChange = (e) => {
|
|
500
526
|
this.isDesktopViewport = e.matches;
|
|
501
527
|
this.btn?.setText((e.matches && !!this.passedLabel) ? this.passedLabel : this.getLabel());
|
|
@@ -623,6 +649,105 @@ const SallaAddProductButton = class {
|
|
|
623
649
|
type: this.supportStickyBar && !this.isDesktopViewport ? 'plain' : this.productType == 'donating' ? 'donate' : 'buy'
|
|
624
650
|
};
|
|
625
651
|
}
|
|
652
|
+
// Store setting: quick-buy skips the mini-checkout popup and goes straight to the checkout page.
|
|
653
|
+
get redirectsToCheckout() {
|
|
654
|
+
return salla.config.get('store.settings.buy_now.redirect_to_checkout') === true;
|
|
655
|
+
}
|
|
656
|
+
/** The fast-checkout slot renders and the store redirects, so the buy-now button is on the page. */
|
|
657
|
+
get showsBuyNowButton() {
|
|
658
|
+
return this.showQuickBuy
|
|
659
|
+
&& !!document.getElementById('fast-checkout-js')
|
|
660
|
+
&& !['financial_support', 'donating'].includes(this.productType)
|
|
661
|
+
&& this.redirectsToCheckout;
|
|
662
|
+
}
|
|
663
|
+
buyNowButton() {
|
|
664
|
+
return index.h("div", { class: "s-add-product-button-mini-checkout s-mini-checkout hide-scroll s-add-product-button-buy-now" }, index.h("button", { type: "button", class: `s-fast-checkout-button outline ${salla.lang.locale == 'ar' ? 'rtl' : 'ltr'}`, disabled: this.buyNowLoading, onClick: () => this.buyNowRedirect() }, index.h("div", { class: "s-add-product-button-mini-checkout-content" }, index.h("span", { innerHTML: WalletIcon }), this.buyNowText)));
|
|
665
|
+
}
|
|
666
|
+
async buyNowRedirect() {
|
|
667
|
+
// A double-click would reach Bullet Delivery twice, which stalls its guest gate.
|
|
668
|
+
const now = Date.now();
|
|
669
|
+
if (this.buyNowBusy || now - this.buyNowLastClick < 500) {
|
|
670
|
+
return;
|
|
671
|
+
}
|
|
672
|
+
this.buyNowLastClick = now;
|
|
673
|
+
const token = ++this.buyNowToken;
|
|
674
|
+
const optionsEl = document.querySelector(`salla-product-options[product-id="${this.productId}"]`);
|
|
675
|
+
if (optionsEl?.validateAndScroll && !(await optionsEl.validateAndScroll())) {
|
|
676
|
+
return;
|
|
677
|
+
}
|
|
678
|
+
// Bullet Delivery's address gate, as the widget runs it; stays pending if the shopper backs out.
|
|
679
|
+
await salla.cart.event.beforeStartFastCheckout();
|
|
680
|
+
if (token !== this.buyNowToken || this.buyNowBusy) {
|
|
681
|
+
return;
|
|
682
|
+
}
|
|
683
|
+
this.buyNowBusy = true;
|
|
684
|
+
let leaving = false;
|
|
685
|
+
try {
|
|
686
|
+
this.buyNowLoading = true;
|
|
687
|
+
const form = document.querySelector('form.product-form');
|
|
688
|
+
const data = form ? new FormData(form) : new FormData();
|
|
689
|
+
data.set('id', String(this.productId));
|
|
690
|
+
data.set('source', 'buy_now');
|
|
691
|
+
if (!(await this.collectOrderOptions(data))) {
|
|
692
|
+
return;
|
|
693
|
+
}
|
|
694
|
+
const resp = await salla.api.request('checkout/mini', data, 'post');
|
|
695
|
+
if (resp.data?.url) {
|
|
696
|
+
leaving = this.openCheckout(resp.data.url);
|
|
697
|
+
}
|
|
698
|
+
else if (resp.data?.to === 'login') {
|
|
699
|
+
salla.event.dispatch('login::open');
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
catch (error) {
|
|
703
|
+
this.failed.emit(error);
|
|
704
|
+
}
|
|
705
|
+
finally {
|
|
706
|
+
if (!leaving) {
|
|
707
|
+
this.buyNowBusy = false;
|
|
708
|
+
this.buyNowLoading = false;
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
/** Order options and free offer products, as the widget collects them; false when the modal is dismissed. */
|
|
713
|
+
async collectOrderOptions(data) {
|
|
714
|
+
let resp;
|
|
715
|
+
try {
|
|
716
|
+
resp = await salla.api.withoutNotifier(() => salla.product.api.getOrderOptions([{ id: this.productId, quantity: Number(data.get('quantity')) || 1 }]));
|
|
717
|
+
}
|
|
718
|
+
catch (error) {
|
|
719
|
+
salla?.logger?.warn?.('order-options: fetch failed', error);
|
|
720
|
+
return true;
|
|
721
|
+
}
|
|
722
|
+
const orderOptions = resp?.data?.order_options || [];
|
|
723
|
+
const freeProducts = (Array.isArray(resp?.data?.advance_free_product) ? resp.data.advance_free_product : [])
|
|
724
|
+
.filter((entry) => Array.isArray(entry?.options) && entry.options.length);
|
|
725
|
+
if (!orderOptions.length && !freeProducts.length) {
|
|
726
|
+
return true;
|
|
727
|
+
}
|
|
728
|
+
try {
|
|
729
|
+
const result = await applePayOrderOptions.ensureOrderOptionsModal().open({
|
|
730
|
+
orderOptions,
|
|
731
|
+
freeProducts,
|
|
732
|
+
basePrice: this.buyNowLivePrice || Number(resp?.data?.products?.[0]?.price?.amount) || 0,
|
|
733
|
+
});
|
|
734
|
+
applePayOrderOptions.appendOrderOptionsToPayload(data, result?.orderOptions || []);
|
|
735
|
+
injectFreeProductsIntoPayload(data, result?.freeProducts || []);
|
|
736
|
+
return true;
|
|
737
|
+
}
|
|
738
|
+
catch {
|
|
739
|
+
return false;
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
/** Native SPA webviews own the checkout screen; returns true when this page navigates away. */
|
|
743
|
+
openCheckout(url) {
|
|
744
|
+
if (salla.mobile?.isSpaWebview?.() && salla.mobile.openCheckout) {
|
|
745
|
+
salla.mobile.openCheckout(url);
|
|
746
|
+
return false;
|
|
747
|
+
}
|
|
748
|
+
window.location.href = url;
|
|
749
|
+
return true;
|
|
750
|
+
}
|
|
626
751
|
miniCheckoutWidget() {
|
|
627
752
|
let storeId = salla.config.get('store.id');
|
|
628
753
|
if (!storeId) {
|
|
@@ -641,8 +766,11 @@ const SallaAddProductButton = class {
|
|
|
641
766
|
&& this.productType !== 'booking';
|
|
642
767
|
// Cross-browser Apple Pay: native (Safari) OR the Payment Request API
|
|
643
768
|
// (non-Safari browsers / non-Apple devices via the QR-code fallback).
|
|
769
|
+
// Hosted (MyFatoorah, S2S off) Apple Pay has no native sheet and no buy-now redirect
|
|
770
|
+
// path, so the quick-buy button below must not render for it either.
|
|
644
771
|
this.isApplePayActive = salla.config.get('store.settings.payments')?.includes('apple_pay')
|
|
645
772
|
&& salla.config.get('store.settings.is_salla_gateway', false)
|
|
773
|
+
&& !isApplePayHostedRedirect()
|
|
646
774
|
&& await canCompleteApplePay();
|
|
647
775
|
this.passedLabel = this.host.innerHTML.replace('<!---->', '').trim();
|
|
648
776
|
if (!!this.passedLabel && this.isDesktopViewport) {
|
|
@@ -672,11 +800,14 @@ const SallaAddProductButton = class {
|
|
|
672
800
|
} }, index.h("div", { class: {
|
|
673
801
|
's-add-product-button-main': this.showQuickBuy,
|
|
674
802
|
'w-full': !document.getElementById('fast-checkout-js') || ['financial_support', 'donating'].includes(this.productType) // This is a temporary fix until all themes fully support the fast checkout -- To be removed later
|
|
675
|
-
} }, index.h("salla-button", { color: this.productStatus === 'sale' ? 'primary' : 'light', type: "button", fill: this.productStatus === 'sale' ? 'solid' : 'outline', ref: el => this.btn = el, onClick: event => this.addProductToCart(event), disabled: this.productStatus !== 'sale', "aria-label": this.isIconOnlyLabel ? this.addToCartLabel : undefined, ...this.getBtnAttributes(), "loader-position": "center" }, index.h("slot", null)), this.showQuickBuy && !!document.getElementById('fast-checkout-js') && !['financial_support', 'donating'].includes(this.productType) ? this.miniCheckoutWidget() : ''), this.showQuickBuy && this.isApplePayActive ? index.h("salla-quick-buy", { ...this.getQuickBuyBtnAttributes() }) : '');
|
|
803
|
+
} }, index.h("salla-button", { color: this.productStatus === 'sale' ? 'primary' : 'light', type: "button", fill: this.productStatus === 'sale' ? 'solid' : 'outline', ref: el => this.btn = el, onClick: event => this.addProductToCart(event), disabled: this.productStatus !== 'sale', "aria-label": this.isIconOnlyLabel ? this.addToCartLabel : undefined, ...this.getBtnAttributes(), "loader-position": "center" }, index.h("slot", null)), this.showQuickBuy && !!document.getElementById('fast-checkout-js') && !['financial_support', 'donating'].includes(this.productType) ? (this.redirectsToCheckout ? this.buyNowButton() : this.miniCheckoutWidget()) : ''), this.showQuickBuy && this.isApplePayActive ? index.h("salla-quick-buy", { ...this.getQuickBuyBtnAttributes() }) : '');
|
|
676
804
|
}
|
|
677
805
|
async componentDidLoad() {
|
|
678
806
|
// Register this component for hooks system, already on it logic to run componentDidLoad trigger
|
|
679
807
|
await Salla.hooks.registerComponent('salla-add-product-button', this);
|
|
808
|
+
if (this.showsBuyNowButton) {
|
|
809
|
+
salla.product?.event?.onPriceUpdated?.(this.onBuyNowPriceUpdated);
|
|
810
|
+
}
|
|
680
811
|
if (!this.notifyOptionsAvailability) {
|
|
681
812
|
return;
|
|
682
813
|
}
|
|
@@ -725,6 +856,7 @@ const SallaAddProductButton = class {
|
|
|
725
856
|
}
|
|
726
857
|
disconnectedCallback() {
|
|
727
858
|
this.viewportMediaQuery?.removeEventListener('change', this.onViewportChange);
|
|
859
|
+
salla.product?.event?.offPriceUpdated?.(this.onBuyNowPriceUpdated);
|
|
728
860
|
}
|
|
729
861
|
get host() { return index.getElement(this); }
|
|
730
862
|
};
|
|
@@ -4058,9 +4190,12 @@ const SallaQuickBuy = class {
|
|
|
4058
4190
|
const canMakePayments = typeof window !== 'undefined' && !!window.ApplePaySession?.canMakePayments?.();
|
|
4059
4191
|
const storeHasApplePay = salla?.config?.get?.('store.settings.payments')?.includes?.('apple_pay') ?? true;
|
|
4060
4192
|
const isSallaGateway = salla?.config?.get?.('store.settings.is_salla_gateway', false) ?? true;
|
|
4193
|
+
// Hosted (MyFatoorah, S2S off) Apple Pay has no native sheet and buy-now has no redirect
|
|
4194
|
+
// path, so there is nothing this button could do — don't offer it.
|
|
4195
|
+
const isHostedRedirect = isApplePayHostedRedirect();
|
|
4061
4196
|
// No networks means nothing to charge with, so don't show the button — canMakePayments()
|
|
4062
4197
|
// alone would light it up on Safari.
|
|
4063
|
-
this.isApplePayActive = canMakePayments && storeHasApplePay && isSallaGateway
|
|
4198
|
+
this.isApplePayActive = canMakePayments && storeHasApplePay && isSallaGateway && !isHostedRedirect
|
|
4064
4199
|
&& !!this.resolveSupportedNetworks().length;
|
|
4065
4200
|
const runInit = async () => {
|
|
4066
4201
|
if (!this.productId && salla?.config?.get && salla.url?.is_page) {
|
|
@@ -4089,7 +4224,8 @@ const SallaQuickBuy = class {
|
|
|
4089
4224
|
salla.product.event.onPriceUpdated(response => { this.applyBaseCurrencyPrice(response?.data); });
|
|
4090
4225
|
}
|
|
4091
4226
|
const storeAllowsApplePay = (salla?.config?.get?.('store.settings.payments')?.includes?.('apple_pay') ?? storeHasApplePay)
|
|
4092
|
-
&& (salla?.config?.get?.('store.settings.is_salla_gateway', false) ?? isSallaGateway)
|
|
4227
|
+
&& (salla?.config?.get?.('store.settings.is_salla_gateway', false) ?? isSallaGateway)
|
|
4228
|
+
&& !isApplePayHostedRedirect();
|
|
4093
4229
|
// Preload Apple's JS SDK so the rendered <apple-pay-button> upgrades on
|
|
4094
4230
|
// every flow (native Safari + QR). Fire-and-forget: the element upgrades
|
|
4095
4231
|
// retroactively once the script defines it.
|
|
@@ -4113,7 +4249,16 @@ const SallaQuickBuy = class {
|
|
|
4113
4249
|
});
|
|
4114
4250
|
}
|
|
4115
4251
|
render() {
|
|
4116
|
-
|
|
4252
|
+
// Hosted (MyFatoorah, S2S off) Apple Pay has no native sheet and buy-now has no
|
|
4253
|
+
// redirect path, so render nothing rather than an Apple Pay button that cannot
|
|
4254
|
+
// do Apple Pay. Scoped to the hosted case on purpose: when a store simply has no
|
|
4255
|
+
// Apple Pay, `isApplePayActive` is false too, but there the button is a deliberate
|
|
4256
|
+
// generic buy-now that falls back to `checkout/mini` (see quickBuyHandler), and
|
|
4257
|
+
// direct consumers rely on that.
|
|
4258
|
+
if (isApplePayHostedRedirect()) {
|
|
4259
|
+
return index.h(index.Host, null);
|
|
4260
|
+
}
|
|
4261
|
+
return index.h(index.Host, null, this.quickBuyButton());
|
|
4117
4262
|
}
|
|
4118
4263
|
quickBuyButton() {
|
|
4119
4264
|
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-
|
|
6
|
+
var index = require('./index-CLrjVXN1.js');
|
|
7
7
|
var anime_es = require('./anime.es-BqW8JHZi.js');
|
|
8
8
|
|
|
9
9
|
const sallaAdvertisementCss = "/*!twlt*/:host{display:block}.visible{visibility:visible}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-hidden{display:none}.s-advertisement-content{width:100%;margin-right:auto;margin-left:auto;padding-right:10px;padding-left:10px}@media (min-width: 1280px){.s-advertisement-content{max-width:1280px}}.s-advertisement-content{display:flex;align-items:center;justify-content:space-between;padding-top:0.625rem;padding-bottom:0.625rem}.s-advertisement-content-main{flex:1 1 0%;text-align:center;font-size:0.875rem;line-height:1.25rem;font-weight:700}.s-advertisement-content-icon{display:inline-block;vertical-align:middle;font-size:1rem;line-height:1.5rem}.s-advertisement-content-icon:where([dir=\"ltr\"],[dir=\"ltr\"] *){margin-right:0.5rem}.s-advertisement-content-icon:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-left:0.5rem}.s-advertisement-action{padding-left:0.25rem;padding-right:0.25rem}";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-CLrjVXN1.js');
|
|
7
7
|
|
|
8
8
|
const sallaAppInstallAlertCss = "/*!twlt*/:host{display:block}.s-app-install-alert-wrapper{display:none;flex-direction:row;align-items:center;position:fixed;left:0;right:0;width:95%;margin-top:1rem;margin-bottom:1rem;margin-left:auto;margin-right:auto;z-index:999;border-radius:0.375rem;padding:0.75rem;gap:0.5rem;background-color:color-mix(in srgb, var(--color-primary) 15%, white);filter:drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06))}.s-app-install-alert-wrapper.open[position=top]{display:flex;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes slideDownFromTop{0%{transform:translateY(-100%);opacity:0}100%{transform:translateY(-0%);opacity:1}}.s-app-install-alert-wrapper.open[position=top]{animation:slideDownFromTop .6s linear;transition-duration:500ms}.s-app-install-alert-wrapper:not(.open){display:none}.s-app-install-alert-content{width:100%}.s-app-install-alert-wrapper[position=top]{top:0px}.s-app-install-alert-wrapper.open[position=bottom]{display:flex}@keyframes slideUpFromBottom{0%{transform:translateY(100%);opacity:0}100%{transform:translateY(0%);opacity:1}}.s-app-install-alert-wrapper.open[position=bottom]{animation:slideUpFromBottom .6s linear}.s-app-install-alert-wrapper[position=bottom]{bottom:0px}@keyframes slideUPFromTop{0%{transform:translateY(-0%);opacity:1}100%{transform:translateY(-100%);opacity:0}}.s-app-install-alert-wrapper[position=top].closing{animation:slideUPFromTop .6s linear}@keyframes slideDownFromBottom{0%{transform:translateY(0%);opacity:1}100%{transform:translateY(100%);opacity:0}}.s-app-install-alert-wrapper[position=bottom].closing{animation:slideDownFromBottom .6s linear}.s-app-install-alert-wrapper.closing{animation-fill-mode:forwards}.s-app-install-alert-title{max-width:95%;font-size:1rem;line-height:1.5rem;font-weight:700;color:var(--color-primary)}.s-app-install-alert-sub-title{max-width:95%;font-size:0.875rem;line-height:1.25rem;font-weight:400}.s-app-install-alert-cta{color:var(--color-primary);text-decoration-line:underline}.s-app-install-alert-cancel-button{position:absolute;top:0.5rem}.s-app-install-alert-cancel-button:where([dir=\"ltr\"],[dir=\"ltr\"] *){right:0.75rem}.s-app-install-alert-cancel-button:where([dir=\"rtl\"],[dir=\"rtl\"] *){left:0.75rem}";
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-CLrjVXN1.js');
|
|
7
7
|
|
|
8
8
|
const sallaAppsIconsCss = "/*!twlt*/:host{display:block}.s-apps-icons-list{display:flex;gap:1rem}.s-apps-icons-list.vertical{flex-direction:column}.s-apps-icons-item{line-height:1}.s-apps-icons-item:hover{color:var(--color-primary)}";
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-CLrjVXN1.js');
|
|
7
7
|
var uploadLimits = require('./upload-limits-C3RarAPN.js');
|
|
8
8
|
var calendar = require('./calendar-D-PUoCDH.js');
|
|
9
9
|
var keyboard_arrow_down = require('./keyboard_arrow_down-DHJ3FFZq.js');
|
|
@@ -707,7 +707,7 @@ const SallaColorPicker = class {
|
|
|
707
707
|
}
|
|
708
708
|
}
|
|
709
709
|
initColorPicker() {
|
|
710
|
-
this.pickerReady = Promise.resolve().then(function () { return require('./vanilla-picker-
|
|
710
|
+
this.pickerReady = Promise.resolve().then(function () { return require('./vanilla-picker-FCNrUTtN.js'); }).then(function (n) { return n.vanillaPicker; }).then(mod => {
|
|
711
711
|
const Picker = mod.default;
|
|
712
712
|
const picker = new Picker({
|
|
713
713
|
parent: this.host,
|
|
@@ -1168,13 +1168,13 @@ const SallaFileUpload = class {
|
|
|
1168
1168
|
return;
|
|
1169
1169
|
try {
|
|
1170
1170
|
const [FilePondModule, FilePondPluginFileValidateSize, FilePondPluginImageExifOrientation, FilePondPluginImagePreview, FilePondPluginImageEdit, FilePondPluginFileValidateType, FilePondPluginFilePoster] = await Promise.all([
|
|
1171
|
-
Promise.resolve().then(function () { return require('./filepond-
|
|
1172
|
-
Promise.resolve().then(function () { return require('./filepond-plugin-file-validate-size-
|
|
1173
|
-
Promise.resolve().then(function () { return require('./filepond-plugin-image-exif-orientation-
|
|
1174
|
-
Promise.resolve().then(function () { return require('./filepond-plugin-image-preview-
|
|
1175
|
-
Promise.resolve().then(function () { return require('./filepond-plugin-image-edit-
|
|
1176
|
-
Promise.resolve().then(function () { return require('./filepond-plugin-file-validate-type-
|
|
1177
|
-
Promise.resolve().then(function () { return require('./filepond-plugin-file-poster-
|
|
1171
|
+
Promise.resolve().then(function () { return require('./filepond-Dh9Ih7bu.js'); }).then(function (n) { return n.filepond; }),
|
|
1172
|
+
Promise.resolve().then(function () { return require('./filepond-plugin-file-validate-size-DdzdetN6.js'); }).then(function (n) { return n.filepondPluginFileValidateSize; }),
|
|
1173
|
+
Promise.resolve().then(function () { return require('./filepond-plugin-image-exif-orientation-BXfm40Ut.js'); }).then(function (n) { return n.filepondPluginImageExifOrientation; }),
|
|
1174
|
+
Promise.resolve().then(function () { return require('./filepond-plugin-image-preview-DQLCCOAs.js'); }).then(function (n) { return n.filepondPluginImagePreview; }),
|
|
1175
|
+
Promise.resolve().then(function () { return require('./filepond-plugin-image-edit-B4vaf2kZ.js'); }).then(function (n) { return n.filepondPluginImageEdit; }),
|
|
1176
|
+
Promise.resolve().then(function () { return require('./filepond-plugin-file-validate-type-DRWFKOpQ.js'); }).then(function (n) { return n.filepondPluginFileValidateType; }),
|
|
1177
|
+
Promise.resolve().then(function () { return require('./filepond-plugin-file-poster-C6Sx5vF0.js'); }).then(function (n) { return n.filepondPluginFilePoster; })
|
|
1178
1178
|
]);
|
|
1179
1179
|
this.FilePond = FilePondModule;
|
|
1180
1180
|
// Register plugins
|
|
@@ -2406,7 +2406,7 @@ const SallaTelInput = class {
|
|
|
2406
2406
|
if (this.TelInput)
|
|
2407
2407
|
return;
|
|
2408
2408
|
try {
|
|
2409
|
-
const telInputModule = await Promise.resolve().then(function () { return require('./intlTelInput-
|
|
2409
|
+
const telInputModule = await Promise.resolve().then(function () { return require('./intlTelInput-o62W18dw.js'); }).then(function (n) { return n.intlTelInput; });
|
|
2410
2410
|
this.TelInput = telInputModule.default;
|
|
2411
2411
|
}
|
|
2412
2412
|
catch (error) {
|
|
@@ -2535,7 +2535,7 @@ const SallaTelInput = class {
|
|
|
2535
2535
|
}
|
|
2536
2536
|
}
|
|
2537
2537
|
render() {
|
|
2538
|
-
return (index.h(index.Host, { key: '
|
|
2538
|
+
return (index.h(index.Host, { key: 'd03d6361922175ab55e0f58fd54cbbc09f89e5e6', class: "s-tel-input" }, index.h("input", { key: '69a1fea1c843d4d36d6b0dd59131fa82f0cb62b6', type: "tel", disabled: this.disabled, name: this.name, value: this.phone, onChange: (event) => this.handleCountryInput(event), ref: el => this.phoneInput = el, enterkeyhint: "next", autocomplete: "tel", class: "s-tel-input-control tel-input s-ltr" }), index.h("span", { key: 'd627bceaf3d7e812a8bc727a12359495350d51b8', class: "s-tel-input-error-msg", ref: el => this.errorMsg = el }), index.h("input", { key: '013c643d29f51c5ff35cd94ab62e4fcffbb8df0c', type: "hidden", name: "country_code", value: this.countryCode, ref: el => this.countryCodeInput = el, class: "country_code" })));
|
|
2539
2539
|
}
|
|
2540
2540
|
componentDidLoad() {
|
|
2541
2541
|
this.initPromise = this.initTelInput();
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-CLrjVXN1.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
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-CLrjVXN1.js');
|
|
7
7
|
var catalogRecommendations = require('./catalog-recommendations-Bxs1t6wk.js');
|
|
8
8
|
|
|
9
9
|
const sallaBasketGapCss = "/*!twlt*/:host{display:block}.block{display:block}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-basket-gap-entry{margin-top:1.25rem;margin-bottom:1.25rem;display:block;border-radius:0.375rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1.25rem}.s-basket-gap-title{margin-bottom:1rem;font-size:1.125rem;line-height:1.75rem;font-weight:700}.s-basket-gap-list{display:flex;flex-direction:column}.s-basket-gap-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));--tw-divide-opacity:1;border-color:rgb(243 244 246 / var(--tw-divide-opacity, 1))}.s-basket-gap-card{display:flex;flex-wrap:wrap;align-items:center;column-gap:0.75rem;row-gap:0.625rem;padding-top:1rem;padding-bottom:1rem}.s-basket-gap-card-image{height:4rem;width:4rem;flex-shrink:0;overflow:hidden;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.s-basket-gap-card-image img{height:100%;width:100%;object-fit:cover}.s-basket-gap-card-info{display:flex;min-width:0px;flex:1 1 0%;flex-direction:column;gap:0.25rem}.s-basket-gap-card-actions{display:flex;width:100%;align-items:center;justify-content:flex-end;gap:0.5rem}@media (min-width: 640px){.s-basket-gap-card-actions{width:auto}}.s-basket-gap-card-name{font-size:0.875rem;line-height:1.25rem;font-weight:600;line-height:1.25;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-basket-gap-card-name a:hover{color:var(--color-primary)}.s-basket-gap-card-price{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-basket-gap-card-sale-price{display:flex;align-items:center;gap:0.5rem}.s-basket-gap-card-sale-price span{font-size:0.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.s-basket-gap-card-sale-price del{font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));text-decoration-line:line-through}.s-basket-gap-card-weight{font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-basket-gap-card-offer{display:flex;flex-shrink:0;align-items:center;gap:0.25rem;border-radius:0.375rem;--tw-bg-opacity:1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1));padding-left:9px;padding-right:9px;padding-top:3px;padding-bottom:3px;font-size:11px;font-weight:500;--tw-text-opacity:1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.s-basket-gap-card-offer i{font-size:0.75rem;line-height:1rem}.s-basket-gap-card-offer span{font-weight:700;--tw-text-opacity:1 !important;color:rgb(31 41 55 / var(--tw-text-opacity, 1)) !important}.s-basket-gap-card-offer salla-count-down{flex-shrink:0}.s-basket-gap-card-offer salla-count-down:where([dir=\"ltr\"],[dir=\"ltr\"] *){margin-inline-start:0.25rem}.s-basket-gap-card-offer salla-count-down:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-inline-end:0.25rem}.s-basket-gap-card-offer .s-count-down-list{margin-left:-0px !important;margin-right:-0px !important;margin-bottom:0px !important;margin-top:0px !important;display:inline-flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start !important;column-gap:0px;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.s-basket-gap-card-offer .s-count-down-list:where([dir=\"ltr\"],[dir=\"ltr\"] *){flex-direction:row-reverse !important}.s-basket-gap-card-offer .s-count-down-list:where([dir=\"rtl\"],[dir=\"rtl\"] *){flex-direction:row !important}.s-basket-gap-card-offer .s-count-down-item{position:relative !important;margin-left:0px !important;margin-right:0px !important;display:inline-flex !important;width:auto !important;flex:none !important;flex-grow:0 !important;flex-direction:row !important;align-items:center !important;justify-content:center !important;padding-top:0px !important;padding-bottom:0px !important;padding-left:0px !important;padding-right:0px !important;font-size:12px !important;font-weight:700 !important;line-height:1 !important;--tw-text-opacity:1 !important;color:rgb(21 128 61 / var(--tw-text-opacity, 1)) !important}.s-basket-gap-card-offer .s-count-down-item-value{display:inline-block !important;width:2ch !important;min-width:2ch !important;text-align:center;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);line-height:1}.s-basket-gap-card-offer .s-count-down-item-label{display:none}.s-basket-gap-entry .s-basket-gap-card-offer.s-basket-gap-card-offer .s-count-down-item::before{content:none !important}.s-basket-gap-entry .s-basket-gap-card-offer.s-basket-gap-card-offer .s-count-down-item::after{content:none !important;position:static;left:auto;right:auto;transform:none}[dir='rtl'] .s-basket-gap-entry .s-basket-gap-card-offer.s-basket-gap-card-offer .s-count-down-item:not(:last-child)::after{content:':' !important;position:static;left:auto;right:auto;transform:none;margin-left:0.15rem;margin-right:0.15rem;color:#15803d;font-size:12px;font-weight:700;line-height:1}[dir='ltr'] .s-basket-gap-entry .s-basket-gap-card-offer.s-basket-gap-card-offer .s-count-down-item:not(:first-child)::after{content:':' !important;position:static;left:auto;right:auto;transform:none;margin-left:0.15rem;margin-right:0.15rem;color:#15803d;font-size:12px;font-weight:700;line-height:1}.s-basket-gap-card-btn{flex-shrink:0}.s-basket-gap-card-btn salla-button .s-button-btn{border-radius:var(--s-radius, 0.25rem);border-width:1px !important;border-color:var(--color-primary) !important;background-color:transparent !important;color:var(--color-primary) !important}.s-basket-gap-card-btn salla-button .s-button-btn:hover{background-color:var(--color-primary) !important;--tw-text-opacity:1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1)) !important}.s-basket-gap-card-btn salla-button .s-button-loader:before{border-top-color:var(--color-primary) !important;border-left-color:var(--color-primary) !important;border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1)) !important;--tw-border-opacity:1 !important;border-right-color:rgb(243 244 246 / var(--tw-border-opacity, 1)) !important}.s-basket-gap-skeleton{display:flex;flex-direction:column;gap:0.75rem}.s-basket-gap-skeleton-card{display:flex;align-items:center;gap:0.75rem;padding-top:0.75rem;padding-bottom:0.75rem}.s-basket-gap-skeleton-info{display:flex;flex:1 1 0%;flex-direction:column;gap:0.5rem}";
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
7
|
-
var helpers = require('./helpers-
|
|
6
|
+
var index = require('./index-CLrjVXN1.js');
|
|
7
|
+
var helpers = require('./helpers-DSseNQ1K.js');
|
|
8
8
|
var location = require('./location-DIyESLuI.js');
|
|
9
9
|
var search = require('./search-c7Aa7lM9.js');
|
|
10
10
|
|
|
@@ -495,10 +495,7 @@ const SallaBulletDelivery = class {
|
|
|
495
495
|
}
|
|
496
496
|
// Auto-select preselected branch if provided
|
|
497
497
|
if (this.preselectedBranchId) {
|
|
498
|
-
|
|
499
|
-
if (branch) {
|
|
500
|
-
this.selectedBranch = branch;
|
|
501
|
-
}
|
|
498
|
+
this.preselectBranch(this.preselectedBranchId);
|
|
502
499
|
}
|
|
503
500
|
}
|
|
504
501
|
// Prefill form data from session storage
|
|
@@ -949,15 +946,30 @@ const SallaBulletDelivery = class {
|
|
|
949
946
|
async loadBranches() {
|
|
950
947
|
this.loadingBranches = true;
|
|
951
948
|
try {
|
|
952
|
-
this.
|
|
949
|
+
this.applyLoadedBranches(await helpers.bulletDeliveryAPI.getBranches({
|
|
953
950
|
country_id: this.selectedCountry?.id,
|
|
954
|
-
});
|
|
955
|
-
this.filterBranches();
|
|
951
|
+
}));
|
|
956
952
|
}
|
|
957
953
|
finally {
|
|
958
954
|
this.loadingBranches = false;
|
|
959
955
|
}
|
|
960
956
|
}
|
|
957
|
+
/**
|
|
958
|
+
* Store a freshly fetched branch list and reconcile the current selection with it.
|
|
959
|
+
* `selectedBranch` is a snapshot from selection time: when the refreshed list carries the
|
|
960
|
+
* same branch, swap in the fresh copy, and drop it if it is no longer selectable (INV-1407).
|
|
961
|
+
* A selection missing from the list (e.g. filtered out by a search) is left untouched.
|
|
962
|
+
*/
|
|
963
|
+
applyLoadedBranches(branches) {
|
|
964
|
+
this.branches = branches;
|
|
965
|
+
if (this.selectedBranch) {
|
|
966
|
+
const fresh = branches.find((b) => b.id === this.selectedBranch?.id);
|
|
967
|
+
if (fresh) {
|
|
968
|
+
this.selectedBranch = helpers.isBranchSelectable(fresh) ? fresh : null;
|
|
969
|
+
}
|
|
970
|
+
}
|
|
971
|
+
this.filterBranches();
|
|
972
|
+
}
|
|
961
973
|
filterBranches() {
|
|
962
974
|
this.filteredBranches = helpers.filterBranches(this.branches, this.branchSearchQuery);
|
|
963
975
|
}
|
|
@@ -984,13 +996,7 @@ const SallaBulletDelivery = class {
|
|
|
984
996
|
if (country) {
|
|
985
997
|
this.selectedCountry = country;
|
|
986
998
|
this.updateNewAddressForm({ country_id: Number(country.id) });
|
|
987
|
-
|
|
988
|
-
if (branchId != null && this.branches.length > 0) {
|
|
989
|
-
const branch = this.branches.find((b) => b.id === branchId);
|
|
990
|
-
if (branch) {
|
|
991
|
-
this.selectedBranch = branch;
|
|
992
|
-
}
|
|
993
|
-
}
|
|
999
|
+
this.preselectBranch(helpers.getIntentBranchId(intent));
|
|
994
1000
|
}
|
|
995
1001
|
}
|
|
996
1002
|
}
|
|
@@ -1154,11 +1160,10 @@ const SallaBulletDelivery = class {
|
|
|
1154
1160
|
return;
|
|
1155
1161
|
this.loadingBranches = true;
|
|
1156
1162
|
try {
|
|
1157
|
-
this.
|
|
1163
|
+
this.applyLoadedBranches(await helpers.bulletDeliveryAPI.getBranches({
|
|
1158
1164
|
country_id: this.selectedCountry?.id,
|
|
1159
1165
|
query,
|
|
1160
|
-
});
|
|
1161
|
-
this.filterBranches();
|
|
1166
|
+
}));
|
|
1162
1167
|
}
|
|
1163
1168
|
finally {
|
|
1164
1169
|
this.loadingBranches = false;
|
|
@@ -1191,12 +1196,11 @@ const SallaBulletDelivery = class {
|
|
|
1191
1196
|
async loadBranchesWithLocation(lat, lng) {
|
|
1192
1197
|
this.loadingBranches = true;
|
|
1193
1198
|
try {
|
|
1194
|
-
this.
|
|
1199
|
+
this.applyLoadedBranches(await helpers.bulletDeliveryAPI.getBranches({
|
|
1195
1200
|
country_id: this.selectedCountry?.id,
|
|
1196
1201
|
lat,
|
|
1197
1202
|
lng,
|
|
1198
|
-
});
|
|
1199
|
-
this.filterBranches();
|
|
1203
|
+
}));
|
|
1200
1204
|
// Auto-select country from first branch if no country is selected
|
|
1201
1205
|
if (!this.selectedCountry && this.branches.length > 0) {
|
|
1202
1206
|
const firstBranch = this.branches[0];
|
|
@@ -1253,6 +1257,18 @@ const SallaBulletDelivery = class {
|
|
|
1253
1257
|
this.selectedBranch = branch;
|
|
1254
1258
|
this.allocationOutOfCoverageMessage = null;
|
|
1255
1259
|
}
|
|
1260
|
+
/**
|
|
1261
|
+
* Restore a remembered / event-provided branch — but only one the list renders as selectable,
|
|
1262
|
+
* so a branch that has closed since it was remembered is never silently preselected (INV-1407).
|
|
1263
|
+
*/
|
|
1264
|
+
preselectBranch(branchId) {
|
|
1265
|
+
if (branchId == null)
|
|
1266
|
+
return;
|
|
1267
|
+
const branch = this.branches.find((b) => b.id === branchId);
|
|
1268
|
+
if (branch && helpers.isBranchSelectable(branch)) {
|
|
1269
|
+
this.selectedBranch = branch;
|
|
1270
|
+
}
|
|
1271
|
+
}
|
|
1256
1272
|
handleSavedAddressSelect(address) {
|
|
1257
1273
|
if (address.is_in_coverage === false) {
|
|
1258
1274
|
// Show toast notification for out of coverage address
|
|
@@ -1492,13 +1508,7 @@ const SallaBulletDelivery = class {
|
|
|
1492
1508
|
await this.loadBranches();
|
|
1493
1509
|
}
|
|
1494
1510
|
// Preselect branch from session storage if available
|
|
1495
|
-
|
|
1496
|
-
if (branchId != null && this.branches.length > 0) {
|
|
1497
|
-
const branch = this.branches.find((b) => b.id === branchId);
|
|
1498
|
-
if (branch) {
|
|
1499
|
-
this.selectedBranch = branch;
|
|
1500
|
-
}
|
|
1501
|
-
}
|
|
1511
|
+
this.preselectBranch(helpers.getIntentBranchId(savedIntent));
|
|
1502
1512
|
}
|
|
1503
1513
|
else if (tab === "address") {
|
|
1504
1514
|
// Lazy-load saved addresses when switching to address tab (if not loaded yet).
|
|
@@ -1527,7 +1537,8 @@ const SallaBulletDelivery = class {
|
|
|
1527
1537
|
}
|
|
1528
1538
|
isConfirmDisabled() {
|
|
1529
1539
|
if (this.activeTab === "branch") {
|
|
1530
|
-
|
|
1540
|
+
// Backstop for any selection path: the allocation API rejects non-selectable branches (INV-1407).
|
|
1541
|
+
return !helpers.isBranchSelectable(this.selectedBranch);
|
|
1531
1542
|
}
|
|
1532
1543
|
if (this.activeTab === "address") {
|
|
1533
1544
|
if (this.isLoggedIn && this.selectedSessionAddress) {
|
|
@@ -3068,18 +3079,18 @@ const SallaSearchableDropdown = class {
|
|
|
3068
3079
|
render() {
|
|
3069
3080
|
const hasSelection = this.selectedItem != null;
|
|
3070
3081
|
const listboxId = `${this.inputId}-listbox`;
|
|
3071
|
-
return (index.h(index.Host, { key: '
|
|
3082
|
+
return (index.h(index.Host, { key: '9b8ac693952ae27f7fecb0f848ef60f5778f0e75', class: "s-searchable-dropdown" }, index.h("div", { key: '2f10ce4a1aca3ff7299d8561a6dffc05b241b6b1', class: { 's-searchable-dropdown': true, 's-searchable-dropdown--open': this.isOpen } }, this.label && (index.h("label", { key: 'bf4f834506b01c388f961e71675dcff60fcab9d9', class: "s-searchable-dropdown-label", htmlFor: this.inputId }, this.label, this.required && index.h("span", { key: 'ccc2919fd2897f6f88009763c10e7e6b04818f5d', class: "s-searchable-dropdown-required" }, " *"))), index.h("div", { key: '4b3796c45068749c9ad6fcd7cd82289971abd6cb', class: {
|
|
3072
3083
|
's-searchable-dropdown-trigger': true,
|
|
3073
3084
|
's-searchable-dropdown-trigger--disabled': this.disabled || this.loading,
|
|
3074
3085
|
's-searchable-dropdown-trigger--open': this.isOpen,
|
|
3075
|
-
}, role: "combobox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-controls": listboxId, "aria-disabled": this.disabled || this.loading ? 'true' : 'false', tabIndex: this.disabled || this.loading ? -1 : 0, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, hasSelection ? (index.h("span", { class: "s-searchable-dropdown-trigger-text" }, this.getDisplayName(this.selectedItem))) : (index.h("span", { class: "s-searchable-dropdown-trigger-placeholder" }, this.placeholder)), index.h("i", { key: '
|
|
3086
|
+
}, role: "combobox", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-controls": listboxId, "aria-disabled": this.disabled || this.loading ? 'true' : 'false', tabIndex: this.disabled || this.loading ? -1 : 0, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, hasSelection ? (index.h("span", { class: "s-searchable-dropdown-trigger-text" }, this.getDisplayName(this.selectedItem))) : (index.h("span", { class: "s-searchable-dropdown-trigger-placeholder" }, this.placeholder)), index.h("i", { key: '0f00911d4b31a3bc5607b3d80c75fa9161e57450', class: {
|
|
3076
3087
|
'sicon-keyboard_arrow_down': true,
|
|
3077
3088
|
's-searchable-dropdown-trigger-icon': true,
|
|
3078
3089
|
's-searchable-dropdown-trigger-icon--open': this.isOpen,
|
|
3079
|
-
}, "aria-hidden": "true" })), this.isOpen && (index.h("div", { key: '
|
|
3090
|
+
}, "aria-hidden": "true" })), this.isOpen && (index.h("div", { key: 'e9d3ee8e3ce449038c9c24f664da1fd44cb140c9', class: {
|
|
3080
3091
|
's-searchable-dropdown-panel': true,
|
|
3081
3092
|
's-searchable-dropdown-panel--up': this.dropUp,
|
|
3082
|
-
}, ref: (el) => (this.panelRef = el) }, this.searchable && (index.h("div", { key: '
|
|
3093
|
+
}, ref: (el) => (this.panelRef = el) }, this.searchable && (index.h("div", { key: '21d3d0f542271255a57c7ae1171a2245f21db148', class: "s-searchable-dropdown-search-wrap" }, index.h("i", { key: '32b23853dce56095394b0f3f32a62aa05e803af2', class: "sicon-search s-searchable-dropdown-search-icon", "aria-hidden": "true" }), index.h("input", { key: 'c50548c034ed3e4ff395fb009e545c78c2dc712e', ref: (el) => (this.searchInputRef = el), id: this.inputId, type: "text", class: "s-searchable-dropdown-search-input", placeholder: this.placeholder, value: this.clientSearch ? this.clientSearchQuery : this.searchQuery, onInput: this.handleSearchInputChange, onKeyDown: this.handleSearchKeyDown, autocomplete: "off", "aria-autocomplete": "list", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-controls": listboxId }))), index.h("div", { key: 'c89233e8d294fe583d9fb8c11c7bb26af5307ce3', id: listboxId, class: "s-searchable-dropdown-list s-scrollbar", role: "listbox" }, this.renderListContent()))))));
|
|
3083
3094
|
}
|
|
3084
3095
|
renderListContent() {
|
|
3085
3096
|
if (this.searching || this.loading) {
|