@salla.sa/twilight-components 2.14.576 → 2.14.577
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/{filepond-pMiRtx1x.js → filepond-iflxa4A5.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-DxsZ8Mch.js → filepond-plugin-file-poster-NZ84xlKh.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-B6fa4wXz.js → filepond-plugin-file-validate-size-m8Z_JlZX.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-BEggFpci.js → filepond-plugin-file-validate-type-BfF6LYAT.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-BDwSySal.js → filepond-plugin-image-edit-DfRJ3iRj.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-HE8n94tY.js → filepond-plugin-image-exif-orientation-BZxYZai-.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-C-CaMrlm.js → filepond-plugin-image-preview-BQ7HvH2d.js} +1 -1
- package/dist/cjs/{helpers-Dm4BirHO.js → helpers-DBynEhOO.js} +0 -15
- package/dist/cjs/{index-B3IyDlYG.js → index-CSe-ijAV.js} +2 -2
- package/dist/cjs/{intlTelInput-CeiHZwpn.js → intlTelInput-DHfYz8vv.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-accordion-body_2.cjs.entry.js +3 -3
- package/dist/cjs/salla-accordion_6.cjs.entry.js +2 -2
- package/dist/cjs/salla-add-product-button_5.cjs.entry.js +3 -3
- 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 +17 -17
- 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 +179 -187
- package/dist/cjs/salla-cart-coupons.cjs.entry.js +160 -7
- package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +2 -2
- 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 +4 -4
- 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 +2 -2
- 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 +3 -3
- package/dist/cjs/salla-filters.cjs.entry.js +2 -2
- package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
- package/dist/cjs/salla-gift-card-redeem.cjs.entry.js +1 -1
- package/dist/cjs/salla-gifting.cjs.entry.js +3 -3
- package/dist/cjs/salla-hook.cjs.entry.js +2 -2
- 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 +2 -2
- package/dist/cjs/salla-localization-modal.cjs.entry.js +2 -2
- package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-banner_10.cjs.entry.js +15 -15
- package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +3 -3
- package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +2 -2
- package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +2 -2
- package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
- package/dist/cjs/salla-maintenance-alert.cjs.entry.js +2 -2
- package/dist/cjs/salla-map_3.cjs.entry.js +4 -4
- 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 +4 -4
- package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +6 -6
- package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +2 -2
- package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
- package/dist/cjs/salla-notification-item_2.cjs.entry.js +2 -2
- package/dist/cjs/salla-offer-modal.cjs.entry.js +2 -2
- 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 +2 -2
- package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +2 -2
- 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 +2 -2
- 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 +3 -3
- package/dist/cjs/salla-placeholder.cjs.entry.js +2 -2
- package/dist/cjs/salla-price-range.cjs.entry.js +3 -3
- package/dist/cjs/salla-product-card-embed.cjs.entry.js +2 -2
- package/dist/cjs/salla-product-card.cjs.entry.js +6 -6
- package/dist/cjs/salla-product-size-guide.cjs.entry.js +3 -3
- 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 +1 -1
- 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-tooltip.cjs.entry.js +2 -2
- 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-DBIBI2Jr.js → vanilla-picker-Brk9Mb54.js} +1 -1
- package/dist/collection/assets/svg/mini-map.svg +6 -30
- package/dist/collection/components/salla-accordion/salla-accordion-head.js +2 -2
- package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.css +241 -238
- package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.js +175 -146
- package/dist/collection/components/salla-cart-coupons/salla-cart-coupons.css +154 -92
- package/dist/collection/components/salla-cart-coupons/salla-cart-coupons.js +160 -5
- package/dist/collection/components/salla-cart-summary/salla-cart-summary.js +1 -1
- package/dist/collection/components/salla-color-picker/salla-color-picker.js +1 -1
- package/dist/collection/components/salla-comment-form/salla-comment-form.js +1 -1
- package/dist/collection/components/salla-conditional-fields/salla-conditional-fields.js +1 -1
- package/dist/collection/components/salla-count-down/salla-count-down.js +1 -1
- package/dist/collection/components/salla-datetime-picker/salla-datetime-picker.js +1 -1
- package/dist/collection/components/salla-file-upload/salla-file-upload.js +2 -2
- package/dist/collection/components/salla-filters/salla-filters.js +1 -1
- package/dist/collection/components/salla-filters-widget/salla-filters-widget.js +2 -2
- package/dist/collection/components/salla-gifting/salla-gifting.js +2 -2
- package/dist/collection/components/salla-hook/salla-hook.js +1 -1
- package/dist/collection/components/salla-list-tile/salla-list-tile.js +1 -1
- package/dist/collection/components/salla-loading/salla-loading.js +1 -1
- package/dist/collection/components/salla-localization-modal/salla-localization-modal.js +1 -1
- package/dist/collection/components/salla-loyalty/salla-loyalty-prize-item.js +1 -1
- package/dist/collection/components/salla-loyalty-points-history/salla-loyalty-points-history.js +1 -1
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-exchange-product-card.js +2 -2
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-hero.js +3 -3
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-point.js +4 -4
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-reward.js +2 -2
- package/dist/collection/components/salla-loyalty-program/salla-reward-card.js +1 -1
- package/dist/collection/components/salla-loyalty-program/salla-reward-details.js +3 -3
- package/dist/collection/components/salla-loyalty-program/salla-reward-exchange.js +1 -1
- package/dist/collection/components/salla-maintenance-alert/salla-maintenance-alert.js +1 -1
- package/dist/collection/components/salla-map/salla-map.js +3 -3
- package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-cart.js +1 -1
- package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-details.js +2 -2
- package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-options-modal.js +4 -4
- package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-slider.js +1 -1
- package/dist/collection/components/salla-multiple-bundle-product/salla-multiple-bundle-product.js +1 -1
- package/dist/collection/components/salla-notifications/salla-notification-item.js +1 -1
- package/dist/collection/components/salla-offer-modal/salla-offer-modal.js +1 -1
- package/dist/collection/components/salla-order-details/salla-order-details.js +1 -1
- package/dist/collection/components/salla-order-edit/salla-order-edit-product-card.js +1 -1
- package/dist/collection/components/salla-order-summary/salla-order-summary.js +1 -1
- package/dist/collection/components/salla-payments/salla-payments.js +2 -2
- package/dist/collection/components/salla-placeholder/salla-placeholder.js +1 -1
- package/dist/collection/components/salla-price-range/salla-price-range.js +2 -2
- package/dist/collection/components/salla-product-availability/salla-product-availability.js +1 -1
- package/dist/collection/components/salla-product-card/salla-product-card.js +5 -5
- package/dist/collection/components/salla-product-card-embed/salla-product-card-embed.js +1 -1
- package/dist/collection/components/salla-product-size-guide/salla-product-size-guide.js +2 -2
- package/dist/collection/components/salla-quantity-input/salla-quantity-input.js +1 -1
- package/dist/collection/components/salla-quick-buy/salla-quick-buy.js +1 -1
- 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-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/helpers.js +1 -15
- package/dist/components/index.js +2 -2
- package/dist/components/salla-accordion-head2.js +2 -2
- package/dist/components/salla-bullet-delivery.js +175 -184
- package/dist/components/salla-cart-coupons.js +161 -6
- package/dist/components/salla-cart-summary.js +1 -1
- package/dist/components/salla-color-picker2.js +1 -1
- package/dist/components/salla-comment-form2.js +1 -1
- package/dist/components/salla-conditional-fields2.js +1 -1
- package/dist/components/salla-count-down2.js +1 -1
- package/dist/components/salla-datetime-picker2.js +1 -1
- package/dist/components/salla-delivery-promise.js +1 -1
- package/dist/components/salla-file-upload2.js +2 -2
- package/dist/components/salla-filters-widget2.js +2 -2
- package/dist/components/salla-filters.js +1 -1
- package/dist/components/salla-gifting.js +2 -2
- package/dist/components/salla-hook.js +1 -1
- package/dist/components/salla-list-tile2.js +1 -1
- package/dist/components/salla-loading2.js +1 -1
- package/dist/components/salla-localization-modal.js +1 -1
- package/dist/components/salla-loyalty-exchange-product-card2.js +2 -2
- package/dist/components/salla-loyalty-hero2.js +3 -3
- package/dist/components/salla-loyalty-point2.js +4 -4
- package/dist/components/salla-loyalty-points-history.js +1 -1
- package/dist/components/salla-loyalty-prize-item.js +1 -1
- package/dist/components/salla-loyalty-reward.js +2 -2
- package/dist/components/salla-maintenance-alert.js +1 -1
- package/dist/components/salla-map2.js +3 -3
- package/dist/components/salla-multiple-bundle-product-cart2.js +1 -1
- package/dist/components/salla-multiple-bundle-product-details2.js +2 -2
- package/dist/components/salla-multiple-bundle-product-options-modal2.js +4 -4
- package/dist/components/salla-multiple-bundle-product-slider2.js +1 -1
- package/dist/components/salla-multiple-bundle-product.js +1 -1
- package/dist/components/salla-notification-item2.js +1 -1
- package/dist/components/salla-offer-modal.js +1 -1
- package/dist/components/salla-order-details.js +1 -1
- package/dist/components/salla-order-edit-product-card.js +1 -1
- package/dist/components/salla-order-summary.js +1 -1
- package/dist/components/salla-payments.js +2 -2
- package/dist/components/salla-placeholder2.js +1 -1
- package/dist/components/salla-price-range2.js +2 -2
- package/dist/components/salla-product-availability2.js +1 -1
- package/dist/components/salla-product-card-embed.js +1 -1
- package/dist/components/salla-product-card2.js +5 -5
- package/dist/components/salla-product-size-guide.js +2 -2
- package/dist/components/salla-quantity-input2.js +1 -1
- package/dist/components/salla-quick-buy2.js +1 -1
- 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-reward-card2.js +1 -1
- package/dist/components/salla-reward-details2.js +3 -3
- package/dist/components/salla-reward-exchange2.js +1 -1
- package/dist/components/salla-search-product-card2.js +2 -2
- 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/esm/{filepond-C6VyLUVF.js → filepond-Qm94dFPs.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-BfFqi2TO.js → filepond-plugin-file-poster-CHpnwHYe.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-BBqb56CB.js → filepond-plugin-file-validate-size-BwHBxxMg.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-O67G3mL2.js → filepond-plugin-file-validate-type-BD-yTEPO.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-CGZyNJxN.js → filepond-plugin-image-edit-DKc0Yw10.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-DA7fGQP3.js → filepond-plugin-image-exif-orientation-CepmNFGF.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-BijvA1XW.js → filepond-plugin-image-preview-FhnzagMd.js} +1 -1
- package/dist/esm/{helpers-CV6uPJEJ.js → helpers-BJxBnTgv.js} +1 -15
- package/dist/esm/{index-VyEjj_Gx.js → index-BAXTlrSC.js} +2 -2
- package/dist/esm/{intlTelInput-DE-bT5KJ.js → intlTelInput-BJlOPJYY.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-accordion-body_2.entry.js +3 -3
- package/dist/esm/salla-accordion_6.entry.js +2 -2
- package/dist/esm/salla-add-product-button_5.entry.js +3 -3
- 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 +17 -17
- 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 +179 -187
- package/dist/esm/salla-cart-coupons.entry.js +160 -7
- package/dist/esm/salla-cart-item-offers_2.entry.js +2 -2
- 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 +4 -4
- 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 +2 -2
- 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 +3 -3
- package/dist/esm/salla-filters.entry.js +2 -2
- package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
- package/dist/esm/salla-gift-card-redeem.entry.js +1 -1
- package/dist/esm/salla-gifting.entry.js +3 -3
- package/dist/esm/salla-hook.entry.js +2 -2
- 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 +2 -2
- package/dist/esm/salla-localization-modal.entry.js +2 -2
- package/dist/esm/salla-login-modal.entry.js +1 -1
- package/dist/esm/salla-loyalty-banner_10.entry.js +15 -15
- package/dist/esm/salla-loyalty-exchange-product-card.entry.js +3 -3
- package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
- package/dist/esm/salla-loyalty-points-history.entry.js +2 -2
- package/dist/esm/salla-loyalty-prize-item.entry.js +2 -2
- package/dist/esm/salla-loyalty.entry.js +1 -1
- package/dist/esm/salla-maintenance-alert.entry.js +2 -2
- package/dist/esm/salla-map_3.entry.js +4 -4
- 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 +4 -4
- package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +6 -6
- package/dist/esm/salla-multiple-bundle-product.entry.js +2 -2
- package/dist/esm/salla-next-order-coupon.entry.js +1 -1
- package/dist/esm/salla-notification-item_2.entry.js +2 -2
- package/dist/esm/salla-offer-modal.entry.js +2 -2
- 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 +2 -2
- package/dist/esm/salla-order-edit-item.entry.js +1 -1
- package/dist/esm/salla-order-edit-product-card.entry.js +2 -2
- 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 +2 -2
- 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 +3 -3
- package/dist/esm/salla-placeholder.entry.js +2 -2
- package/dist/esm/salla-price-range.entry.js +3 -3
- package/dist/esm/salla-product-card-embed.entry.js +2 -2
- package/dist/esm/salla-product-card.entry.js +6 -6
- package/dist/esm/salla-product-size-guide.entry.js +3 -3
- 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 +1 -1
- 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-tooltip.entry.js +2 -2
- 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-BVwvMAEs.js → vanilla-picker-C_cY41gl.js} +1 -1
- package/dist/twilight/{p-f7063e39.entry.js → p-00a727c3.entry.js} +1 -1
- package/dist/twilight/{p-0987a1bf.entry.js → p-0227316e.entry.js} +1 -1
- package/dist/twilight/{p-4bcf0187.entry.js → p-03c959bb.entry.js} +1 -1
- package/dist/twilight/{p-e2d0eb4c.entry.js → p-072ee78f.entry.js} +1 -1
- package/dist/twilight/{p-f291fd6b.entry.js → p-073e1363.entry.js} +1 -1
- package/dist/twilight/{p-cbaa45a4.entry.js → p-0806da7e.entry.js} +1 -1
- package/dist/twilight/{p-c6e6daf9.entry.js → p-08cedab0.entry.js} +1 -1
- package/dist/twilight/{p-f7f35e00.entry.js → p-0bcca7f8.entry.js} +1 -1
- package/dist/twilight/{p-565f021e.entry.js → p-10a68a21.entry.js} +1 -1
- package/dist/twilight/{p-d4466357.entry.js → p-13abf9ca.entry.js} +1 -1
- package/dist/twilight/{p-a4ba6008.entry.js → p-13c35685.entry.js} +1 -1
- package/dist/twilight/{p-63a287b4.entry.js → p-162fa48e.entry.js} +1 -1
- package/dist/twilight/{p-38f82c85.entry.js → p-1762fd86.entry.js} +1 -1
- package/dist/twilight/{p-a2bf4487.entry.js → p-18c41e9a.entry.js} +1 -1
- package/dist/twilight/{p-76843521.entry.js → p-1fbb0b22.entry.js} +1 -1
- package/dist/twilight/{p-d0445027.entry.js → p-1fd6a10e.entry.js} +1 -1
- package/dist/twilight/p-28cdaf6b.entry.js +4 -0
- package/dist/twilight/{p-15fd28e8.entry.js → p-292a0b4a.entry.js} +1 -1
- package/dist/twilight/{p-9eebb417.entry.js → p-2ba4956f.entry.js} +1 -1
- package/dist/twilight/{p-faa90387.entry.js → p-2c543420.entry.js} +1 -1
- package/dist/twilight/{p-d59a53f5.entry.js → p-2e3a56de.entry.js} +1 -1
- package/dist/twilight/p-2e4064eb.entry.js +4 -0
- package/dist/twilight/{p-4abd6abc.entry.js → p-3153f560.entry.js} +1 -1
- package/dist/twilight/{p-55469fd9.entry.js → p-3a3815a2.entry.js} +1 -1
- package/dist/twilight/{p-63af5354.entry.js → p-3cef6be2.entry.js} +1 -1
- package/dist/twilight/{p-bc1251f6.entry.js → p-3dd612a6.entry.js} +1 -1
- package/dist/twilight/{p-95494a3d.entry.js → p-411c1ab0.entry.js} +1 -1
- package/dist/twilight/p-423d852d.entry.js +4 -0
- package/dist/twilight/{p-d5d8230d.entry.js → p-44a6598e.entry.js} +1 -1
- package/dist/twilight/{p-f889b4d2.entry.js → p-51d83216.entry.js} +1 -1
- package/dist/twilight/{p-354f6595.entry.js → p-51fb8841.entry.js} +1 -1
- package/dist/twilight/{p-82186e1c.entry.js → p-56609a91.entry.js} +1 -1
- package/dist/twilight/{p-f265b4ea.entry.js → p-58c1bf51.entry.js} +1 -1
- package/dist/twilight/{p-10da5fab.entry.js → p-59a7ca2e.entry.js} +1 -1
- package/dist/twilight/{p-c032ca19.entry.js → p-5a77257c.entry.js} +1 -1
- package/dist/twilight/{p-c1f9932b.entry.js → p-5c4e2ed3.entry.js} +1 -1
- package/dist/twilight/{p-2438d7e1.entry.js → p-5f464161.entry.js} +1 -1
- package/dist/twilight/{p-58398f44.entry.js → p-637670fa.entry.js} +1 -1
- package/dist/twilight/{p-80cf8042.entry.js → p-6605f258.entry.js} +1 -1
- package/dist/twilight/{p-ca7cd467.entry.js → p-665bc308.entry.js} +1 -1
- package/dist/twilight/{p-55afe19f.entry.js → p-6bfe12d5.entry.js} +1 -1
- package/dist/twilight/{p-b06b0973.entry.js → p-6de608eb.entry.js} +1 -1
- package/dist/twilight/{p-a291f319.entry.js → p-6f9bc285.entry.js} +1 -1
- package/dist/twilight/{p-85d5c0b6.entry.js → p-70451662.entry.js} +1 -1
- package/dist/twilight/{p-9417b38b.entry.js → p-7b0cf8a1.entry.js} +1 -1
- package/dist/twilight/{p-b35956cc.entry.js → p-7d08dcfb.entry.js} +1 -1
- package/dist/twilight/{p-ec378cee.entry.js → p-7d37b650.entry.js} +1 -1
- package/dist/twilight/{p-7d4c9e95.entry.js → p-7f3e110c.entry.js} +1 -1
- package/dist/twilight/{p-ceae3b17.entry.js → p-80302c52.entry.js} +1 -1
- package/dist/twilight/{p-47ddfc87.entry.js → p-806083b4.entry.js} +1 -1
- package/dist/twilight/{p-bb2c9ac9.entry.js → p-84cff600.entry.js} +1 -1
- package/dist/twilight/{p-66be47ec.entry.js → p-884104a3.entry.js} +1 -1
- package/dist/twilight/{p-140bf9e1.entry.js → p-898ce93b.entry.js} +1 -1
- package/dist/twilight/{p-90033ecc.entry.js → p-8a865d37.entry.js} +1 -1
- package/dist/twilight/{p-08bcc8c6.entry.js → p-8c750736.entry.js} +1 -1
- package/dist/twilight/{p-6c4d3288.entry.js → p-8fc2eb01.entry.js} +1 -1
- package/dist/twilight/{p-02df3435.entry.js → p-97fee81d.entry.js} +1 -1
- package/dist/twilight/{p-c95f4657.entry.js → p-9920bbad.entry.js} +1 -1
- package/dist/twilight/{p-237ee8db.entry.js → p-99b9bf66.entry.js} +1 -1
- package/dist/twilight/{p-dcba291c.entry.js → p-9b4a0dd3.entry.js} +1 -1
- package/dist/twilight/{p-b7e14e40.entry.js → p-9e054110.entry.js} +1 -1
- package/dist/twilight/{p-VyEjj_Gx.js → p-BAXTlrSC.js} +1 -1
- package/dist/twilight/p-BJxBnTgv.js +4 -0
- package/dist/twilight/{p-MofCSty6.js → p-BWpg3MwW.js} +1 -1
- package/dist/twilight/{p-CVE_4GIW.js → p-C6WaobtY.js} +1 -1
- package/dist/twilight/p-CvebbG3m.js +9 -0
- package/dist/twilight/{p-k8NfWBBa.js → p-D5lNzFgl.js} +1 -1
- package/dist/twilight/{p-Dht_HSXg.js → p-DGzNHmGp.js} +2 -2
- package/dist/twilight/{p-XWoqFS1d.js → p-DnrvXyI6.js} +1 -1
- package/dist/twilight/{p-BqBflUu5.js → p-DpI1J-G1.js} +1 -1
- package/dist/twilight/{p-DtngMbK9.js → p-SguJQlDo.js} +1 -1
- package/dist/twilight/{p-BZQPZ7Vk.js → p-_f6GlygH.js} +1 -1
- package/dist/twilight/{p-22efe055.entry.js → p-a2d07dba.entry.js} +1 -1
- package/dist/twilight/{p-a5dc1d5e.entry.js → p-a73a785d.entry.js} +1 -1
- package/dist/twilight/{p-b930b2ba.entry.js → p-a79c04a2.entry.js} +1 -1
- package/dist/twilight/{p-9df6ef40.entry.js → p-a9fcdac5.entry.js} +1 -1
- package/dist/twilight/{p-a185519a.entry.js → p-ab3ad37f.entry.js} +1 -1
- package/dist/twilight/{p-12bcfd57.entry.js → p-abc3e5d5.entry.js} +1 -1
- package/dist/twilight/{p-e6803d06.entry.js → p-b356f3f6.entry.js} +1 -1
- package/dist/twilight/{p-c593919c.entry.js → p-b55fb51b.entry.js} +1 -1
- package/dist/twilight/{p-1b2ce7bb.entry.js → p-bb35af04.entry.js} +1 -1
- package/dist/twilight/{p-f12fc91c.entry.js → p-bf845ea7.entry.js} +1 -1
- package/dist/twilight/{p-19c39465.entry.js → p-c2e871ae.entry.js} +1 -1
- package/dist/twilight/{p-9a0ad6b4.entry.js → p-c38fb150.entry.js} +1 -1
- package/dist/twilight/{p-b9e85434.entry.js → p-c63ff8ef.entry.js} +1 -1
- package/dist/twilight/{p-724be00d.entry.js → p-c90600b1.entry.js} +1 -1
- package/dist/twilight/{p-b3a36e11.entry.js → p-cc1b3318.entry.js} +1 -1
- package/dist/twilight/{p-a990b069.entry.js → p-ce1d3ad9.entry.js} +1 -1
- package/dist/twilight/{p-9f485845.entry.js → p-ce80fb8f.entry.js} +1 -1
- package/dist/twilight/{p-88918b1b.entry.js → p-d3556d1f.entry.js} +1 -1
- package/dist/twilight/{p-85a81ddd.entry.js → p-d3cf9f8a.entry.js} +1 -1
- package/dist/twilight/{p-f1d0d4da.entry.js → p-dd18ac5c.entry.js} +1 -1
- package/dist/twilight/p-dda4d231.entry.js +4 -0
- package/dist/twilight/{p-7ef406e5.entry.js → p-e0d834a7.entry.js} +1 -1
- package/dist/twilight/{p-09ab0b69.entry.js → p-e4ff7a77.entry.js} +1 -1
- package/dist/twilight/{p-2d43aaae.entry.js → p-e66856c5.entry.js} +1 -1
- package/dist/twilight/{p-bb83242c.entry.js → p-e7c4d4cc.entry.js} +1 -1
- package/dist/twilight/{p-70577d8b.entry.js → p-e944f02a.entry.js} +1 -1
- package/dist/twilight/{p-915965eb.entry.js → p-e95fd91e.entry.js} +1 -1
- package/dist/twilight/{p-6d46f977.entry.js → p-ea7846fd.entry.js} +1 -1
- package/dist/twilight/{p-29bc507d.entry.js → p-f0ca37fc.entry.js} +1 -1
- package/dist/twilight/{p-2aa87b3c.entry.js → p-f2e13d28.entry.js} +1 -1
- package/dist/twilight/{p-370939c2.entry.js → p-f514b9f5.entry.js} +1 -1
- package/dist/twilight/p-fa6f2b27.entry.js +4 -0
- package/dist/twilight/{p-a8f4fa9e.entry.js → p-faadae59.entry.js} +1 -1
- package/dist/twilight/{p-7f38bccf.entry.js → p-fc500047.entry.js} +1 -1
- package/dist/twilight/p-fdc97278.entry.js +4 -0
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-bullet-delivery/interfaces.d.ts +6 -0
- package/dist/types/components/salla-bullet-delivery/salla-bullet-delivery.d.ts +25 -12
- package/dist/types/components/salla-cart-coupons/interfaces.d.ts +20 -0
- package/dist/types/components/salla-cart-coupons/salla-cart-coupons.d.ts +49 -1
- package/dist/types/components.d.ts +2 -2
- package/package.json +5 -5
- package/dist/twilight/p-26105855.entry.js +0 -4
- package/dist/twilight/p-4198d092.entry.js +0 -4
- package/dist/twilight/p-BB5KMFvk.js +0 -9
- package/dist/twilight/p-CV6uPJEJ.js +0 -4
- package/dist/twilight/p-c63be3cf.entry.js +0 -4
- package/dist/twilight/p-d6c4c0f7.entry.js +0 -4
- package/dist/twilight/p-f059fb37.entry.js +0 -4
- package/dist/twilight/p-fe8cb1d6.entry.js +0 -4
|
@@ -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-CSe-ijAV.js');
|
|
7
|
+
var helpers = require('./helpers-DBynEhOO.js');
|
|
8
8
|
var location = require('./location-DIyESLuI.js');
|
|
9
9
|
var search = require('./search-c7Aa7lM9.js');
|
|
10
10
|
|
|
@@ -33,50 +33,15 @@ var GPS = `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="ht
|
|
|
33
33
|
</svg>
|
|
34
34
|
`;
|
|
35
35
|
|
|
36
|
-
var
|
|
37
|
-
<
|
|
38
|
-
<
|
|
39
|
-
<
|
|
40
|
-
<
|
|
41
|
-
<
|
|
42
|
-
<stop offset="1" stop-color="#C93732"/>
|
|
43
|
-
</linearGradient>
|
|
44
|
-
</defs>
|
|
36
|
+
var MiniMap = `<svg width="35" height="35" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
37
|
+
<rect x="1.90958" y="0.576577" width="30.8468" height="30.8468" rx="9.22523" style="fill:#E8E8E8" stroke="white" stroke-width="1.15315"/>
|
|
38
|
+
<path d="M17.9096 6.77445L28.7204 5.33301H32.4681L32.7564 11.8195V23.6393L10.4141 23.9276V10.8105L17.9096 6.77445Z" style="fill:#97E7C8"/>
|
|
39
|
+
<path d="M-2.70303 10.6664H10.2699M41.6934 5.47722C38.378 5.47722 34.7744 5.47722 27.8555 5.47722C20.9366 5.47722 18.4862 6.63037 15.4591 8.64839C12.4321 10.6664 10.2699 10.6664 10.2699 10.6664M10.2699 34.4502V23.6394M10.2699 10.6664V23.6394M-6.16249 23.6394H10.2699M10.2699 23.6394H21.0807M38.8105 23.6394H21.0807M21.0807 23.6394V34.4502" style="fill:none" stroke="white" stroke-width="2.30631"/>
|
|
40
|
+
<rect x="2.34202" y="1.00901" width="29.982" height="29.982" rx="8.79279" style="fill:none" stroke="white" stroke-width="2.01802"/>
|
|
41
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M18.069 19.8621C19.4995 18.6902 22.171 16.0948 22.171 13.0548C22.171 11.7333 21.6461 10.466 20.7117 9.5316C19.7773 8.5972 18.51 8.07227 17.1885 8.07227C15.8671 8.07227 14.5998 8.5972 13.6654 9.5316C12.731 10.466 12.2061 11.7333 12.2061 13.0548C12.2061 16.0948 14.8776 18.6902 16.3081 19.8621C16.5553 20.0679 16.8669 20.1806 17.1885 20.1806C17.5102 20.1806 17.8218 20.0679 18.069 19.8621ZM17.1885 14.1618C17.517 14.1618 17.838 14.0644 18.1111 13.8819C18.3842 13.6995 18.597 13.4401 18.7227 13.1367C18.8484 12.8333 18.8812 12.4994 18.8172 12.1773C18.7531 11.8552 18.595 11.5593 18.3627 11.3271C18.1305 11.0948 17.8346 10.9367 17.5125 10.8726C17.1904 10.8085 16.8565 10.8414 16.5531 10.9671C16.2497 11.0928 15.9903 11.3056 15.8079 11.5787C15.6254 11.8518 15.528 12.1728 15.528 12.5012C15.528 12.9416 15.703 13.364 16.0144 13.6754C16.3258 13.9868 16.7481 14.1618 17.1885 14.1618Z" style="fill:#55575D"/>
|
|
45
42
|
</svg>
|
|
46
43
|
`;
|
|
47
44
|
|
|
48
|
-
var MiniMap = `<svg width="35" height="35" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
49
|
-
<g filter="url(#filter0_d_24181_220540)">
|
|
50
|
-
<mask id="mask0_24181_220540" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="1" y="0" width="33" height="32">
|
|
51
|
-
<rect x="1.90958" y="0.576577" width="30.8468" height="30.8468" rx="9.22523" fill="#D9D9D9" stroke="white" stroke-width="1.15315"/>
|
|
52
|
-
</mask>
|
|
53
|
-
<g mask="url(#mask0_24181_220540)">
|
|
54
|
-
<rect x="1.90958" y="0.576577" width="30.8468" height="30.8468" rx="9.22523" fill="#E8E8E8" stroke="white" stroke-width="1.15315"/>
|
|
55
|
-
<path d="M17.9096 6.77445L28.7204 5.33301H32.4681L32.7564 11.8195V23.6393L10.4141 23.9276V10.8105L17.9096 6.77445Z" fill="#97E7C8"/>
|
|
56
|
-
<path d="M-2.70303 10.6664H10.2699M41.6934 5.47722C38.378 5.47722 34.7744 5.47722 27.8555 5.47722C20.9366 5.47722 18.4862 6.63037 15.4591 8.64839C12.4321 10.6664 10.2699 10.6664 10.2699 10.6664M10.2699 34.4502V23.6394M10.2699 10.6664V23.6394M-6.16249 23.6394H10.2699M10.2699 23.6394H21.0807M38.8105 23.6394H21.0807M21.0807 23.6394V34.4502" stroke="white" stroke-width="2.30631"/>
|
|
57
|
-
<rect x="2.34202" y="1.00901" width="29.982" height="29.982" rx="8.79279" stroke="white" stroke-width="2.01802"/>
|
|
58
|
-
</g>
|
|
59
|
-
<g clip-path="url(#clip0_24181_220540)">
|
|
60
|
-
<path fill-rule="evenodd" clip-rule="evenodd" d="M18.069 19.8621C19.4995 18.6902 22.171 16.0948 22.171 13.0548C22.171 11.7333 21.6461 10.466 20.7117 9.5316C19.7773 8.5972 18.51 8.07227 17.1885 8.07227C15.8671 8.07227 14.5998 8.5972 13.6654 9.5316C12.731 10.466 12.2061 11.7333 12.2061 13.0548C12.2061 16.0948 14.8776 18.6902 16.3081 19.8621C16.5553 20.0679 16.8669 20.1806 17.1885 20.1806C17.5102 20.1806 17.8218 20.0679 18.069 19.8621ZM17.1885 14.1618C17.517 14.1618 17.838 14.0644 18.1111 13.8819C18.3842 13.6995 18.597 13.4401 18.7227 13.1367C18.8484 12.8333 18.8812 12.4994 18.8172 12.1773C18.7531 11.8552 18.595 11.5593 18.3627 11.3271C18.1305 11.0948 17.8346 10.9367 17.5125 10.8726C17.1904 10.8085 16.8565 10.8414 16.5531 10.9671C16.2497 11.0928 15.9903 11.3056 15.8079 11.5787C15.6254 11.8518 15.528 12.1728 15.528 12.5012C15.528 12.9416 15.703 13.364 16.0144 13.6754C16.3258 13.9868 16.7481 14.1618 17.1885 14.1618Z" fill="#55575D"/>
|
|
61
|
-
</g>
|
|
62
|
-
</g>
|
|
63
|
-
<defs>
|
|
64
|
-
<filter id="filter0_d_24181_220540" x="-0.000325561" y="0" width="34.6667" height="34.6667" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
65
|
-
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
66
|
-
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
|
67
|
-
<feOffset dy="1.33333"/>
|
|
68
|
-
<feGaussianBlur stdDeviation="0.666667"/>
|
|
69
|
-
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04 0"/>
|
|
70
|
-
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_24181_220540"/>
|
|
71
|
-
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_24181_220540" result="shape"/>
|
|
72
|
-
</filter>
|
|
73
|
-
<clipPath id="clip0_24181_220540">
|
|
74
|
-
<rect width="12.1081" height="12.1081" fill="white" transform="translate(11.1338 8.07227)"/>
|
|
75
|
-
</clipPath>
|
|
76
|
-
</defs>
|
|
77
|
-
</svg>
|
|
78
|
-
`;
|
|
79
|
-
|
|
80
45
|
var Store = `<svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
81
46
|
<path
|
|
82
47
|
d="M1.14453 5.83032L1.14453 9.16486C1.14453 11.0511 1.14453 11.9943 1.73032 12.5803C2.3161 13.1663 3.25891 13.1663 5.14453 13.1663L9.14453 13.1663C11.0301 13.1663 11.9729 13.1663 12.5587 12.5803C13.1445 11.9943 13.1445 11.0511 13.1445 9.16486V5.83032"
|
|
@@ -90,7 +55,7 @@ var Store = `<svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="
|
|
|
90
55
|
</svg>
|
|
91
56
|
`;
|
|
92
57
|
|
|
93
|
-
const sallaBulletDeliveryCss = "/*!twlt*/@supports (interpolate-size: allow-keywords) and (block-size: calc-size(auto, size)){.s-bullet-delivery .s-bullet-delivery-modal .s-modal-body,.s-bullet-delivery-inner{interpolate-size:allow-keywords}.s-bullet-delivery .s-bullet-delivery-modal .s-modal-body{overflow:clip;transition:block-size 500ms ease}.s-bullet-delivery-inner{overflow:clip;transition:block-size 500ms ease;block-size:calc-size(auto, size)}}.s-bullet-delivery .s-bullet-delivery-modal .s-modal-body:has(.s-searchable-dropdown--open){overflow:visible !important}.first-letter-cap::first-letter{text-transform:uppercase}.s-bullet-delivery-map-container{width:100%;height:450px;border-radius:8px;overflow:hidden;margin-bottom:12px}.s-bullet-delivery-map-container gmap-map{display:block;width:100%;height:100%}.s-bullet-delivery-address-confirm{display:flex;flex-direction:column;gap:20px;padding:0 24px}.s-bullet-delivery-address-confirm-card{display:flex;align-items:flex-start;gap:12px}.s-bullet-delivery-address-confirm-edit{border:1px solid #eee;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:500;line-height:1;color:#333;background:white;cursor:pointer;white-space:nowrap;height:32px;flex-shrink:0;align-self:center;display:inline-flex;align-items:center;justify-content:center}.s-bullet-delivery-address-confirm-details{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1;min-width:0}.s-bullet-delivery-address-confirm-label{font-size:12px;color:#666}.s-bullet-delivery-address-confirm-text{font-size:14px;font-weight:700;color:#333;margin:0;word-break:break-word}.s-bullet-delivery-address-confirm-tag{display:inline-flex;align-items:center;gap:4px;border:1px solid #eee;border-radius:140px;padding:4px 8px;font-size:12px;color:#333;margin-top:4px}.s-bullet-delivery-address-confirm-tag-icon{width:9px;display:inline-flex;flex-shrink:0}.s-bullet-delivery-address-confirm-tag-icon svg{width:100%;height:100%}.s-bullet-delivery-address-confirm-description{display:flex;flex-direction:column;gap:8px}.s-bullet-delivery-address-confirm-description-label{font-size:14px;font-weight:500;color:#444}.s-bullet-delivery-address-confirm-description-optional{font-weight:400;color:#999;margin-inline-start:4px}.s-bullet-delivery-address-confirm-description-input{width:100%;border:1px solid #eee;border-radius:8px;padding:10px 12px;font-size:14px}.s-bullet-delivery-login-prompt{display:block;width:100%;text-align:center;background:none;border:none;color:var(--color-primary, #004956);font-size:14px;font-weight:500;cursor:pointer;padding:12px 0}@keyframes s-bullet-delivery-fade-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.branch-status-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;max-height:20px;border-radius:20px;font-size:9px;font-weight:500;border:1px solid transparent;white-space:nowrap}.branch-status-badge.green{color:#43a047;background:#e8f5e9;border-color:#43a047}.branch-status-badge.blue{color:#1e88e5;background:#e3f2fd;border-color:#1e88e5}.branch-status-badge.red{color:#e53935;background:#fdf2f2;border-color:#e53935}.branch-status-badge.yellow{color:#f9a825;background:#fff8e1;border-color:#f9a825}.branch-status-badge.gray{color:#757575;background:#f5f5f5;border-color:#757575}.branch-status-badge.brown{color:#6d4c41;background:#efebe9;border-color:#6d4c41}.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}.visible{visibility:visible}.static{position:static}.mb-1{margin-bottom:0.25rem}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.gap-1{gap:0.25rem}.text-start{text-align:start}.\\!text-blue-600{--tw-text-opacity:1 !important;color:rgb(37 99 235 / var(--tw-text-opacity, 1)) !important}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.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)}.transition{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:150ms}.s-hidden{display:none}.form-input{height:2.5rem;width:100%;border-radius:0.375rem;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.form-input:focus{border-color:var(--color-primary);--tw-ring-color:transparent}.form-input:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.form-input:focus:is(.dark *){border-color:var(--color-primary)}@media (min-width: 640px){.form-input{font-size:0.875rem;line-height:1.25rem}}.\\!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}.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}.spinner-loader.reverse{border-right-color:#9f7171 !important;background-color:#f98181}.s-hidden{display:none}.s-scrollbar::-webkit-scrollbar{width:5px}.s-scrollbar::-webkit-scrollbar-track{background-color:#eee}.s-scrollbar::-webkit-scrollbar-thumb{background-color:var(--color-primary);border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;-ms-border-radius:10px;-o-border-radius:10px}.s-bullet-delivery .s-bullet-delivery-modal .s-modal-body{padding:0px}@media (min-width: 768px){.s-bullet-delivery .s-bullet-delivery-modal .s-modal-body{max-height:70dvh;overflow-y:auto}}.s-bullet-delivery .s-bullet-delivery-modal .s-modal-body:has(.s-searchable-dropdown--open){overflow:visible !important}.s-bullet-delivery-inner{min-block-size:0}.s-bullet-delivery-header{margin-bottom:1.5rem;text-align:start}.s-bullet-delivery-title{display:block;font-size:1.25rem;line-height:1.75rem;font-weight:700;color:var(--color-primary-dark)}.s-bullet-delivery-subtitle{margin-top:0.25rem;display:block;font-size:0.875rem;line-height:1.25rem;color:var(--color-primary-dark)}.s-bullet-delivery-tabs{margin-bottom:1.5rem;display:flex;gap:0.5rem}.s-bullet-delivery-tab{display:flex;flex:1 1 0%;cursor:pointer;align-items:center;gap:1rem;border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-top:0.5rem;padding-bottom:0.5rem;padding-left:0.75rem;padding-right:0.75rem;font-size:0.875rem;line-height:1.25rem;font-weight:500;color:var(--color-primary-dark);transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:200ms}.s-bullet-delivery-tab:hover{background-color:color-mix(in srgb,var(--color-primary) 5%,transparent)}.s-bullet-delivery-tab--active{border-color:var(--color-primary-dark)}.s-bullet-delivery-tab svg{height:0.875rem;width:0.875rem;color:var(--color-primary-dark)}.s-bullet-delivery-tab-icon{display:flex;height:2rem;width:2rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:0.75rem;--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.s-bullet-delivery-allocation-out-of-coverage{margin-bottom:1rem;display:flex;width:100%;align-items:center;gap:0.5rem;--tw-bg-opacity:1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1));padding-top:0.75rem;padding-bottom:0.75rem;padding-left:1rem;padding-right:1rem;text-align:end;--tw-text-opacity:1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.s-bullet-delivery-allocation-out-of-coverage:where([dir=\"ltr\"],[dir=\"ltr\"] *){border-left-width:4px;border-left-color:rgb(239 68 68 / 0.5)}.s-bullet-delivery-allocation-out-of-coverage:where([dir=\"rtl\"],[dir=\"rtl\"] *){border-right-width:4px;border-right-color:rgb(239 68 68 / 0.5)}.s-bullet-delivery-allocation-out-of-coverage-text{font-size:0.875rem;line-height:1.25rem;line-height:1.4}.s-bullet-delivery-allocation-out-of-coverage-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;--tw-text-opacity:1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.s-bullet-delivery-allocation-out-of-coverage-icon svg{height:1.25rem;width:1.25rem}.s-bullet-delivery-content{margin-bottom:1.5rem;display:grid;gap:1rem}.s-bullet-delivery-content--active{animation:s-bullet-delivery-fade-in 220ms ease-out}.s-bullet-delivery-label{margin-bottom:0.5rem;display:block;font-size:0.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-bullet-delivery-error{margin-top:0.25rem;display:block;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-bullet-delivery-footer{display:grid;gap:0.75rem;text-align:center}.s-bullet-delivery-placeholder{margin-top:1rem;margin-bottom:1rem}.s-bullet-delivery-placeholder.s-placeholder-wrapper{margin-top:1rem !important;margin-bottom:1rem !important}.s-bullet-delivery-label-content{display:inline-flex;align-items:center;gap:0.5rem}.s-bullet-delivery-select-loader{display:inline-flex;align-items:center;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-bullet-delivery-search-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:0.5rem;padding-left:1px;padding-right:1px}.s-bullet-delivery-search-row .s-bullet-delivery-search{min-width:0px;flex:1 1 0%}.s-bullet-delivery-search-row .s-bullet-delivery-location-btn{width:auto;flex-shrink:0}.s-bullet-delivery-field-row{margin-bottom:1rem;display:flex;gap:1rem}.s-bullet-delivery-field-row .s-bullet-delivery-field{margin-bottom:0px;flex:1 1 0%}.s-bullet-delivery-saved-addresses-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.s-bullet-delivery-saved-addresses-empty-icon{margin-bottom:0.75rem;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-bullet-delivery-saved-addresses-empty-icon svg{height:2rem;width:2rem}.s-bullet-delivery-saved-addresses-empty-title{margin-bottom:0.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:700;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-bullet-delivery-saved-addresses-empty-desc{margin-bottom:1.5rem;max-width:24rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-bullet-delivery-addresses-list{display:flex;max-height:260px;flex-direction:column;overflow-y:auto;border-radius:0.75rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}@media (min-width: 768px){.s-bullet-delivery-addresses-list{max-height:220px}}.s-bullet-delivery-address-item{display:flex;cursor:pointer;flex-direction:row;align-items:center;gap:0.75rem;border-bottom-width:1px;--tw-border-opacity:1;border-bottom-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-left:1rem;padding-right:1rem;padding-top:0.875rem;padding-bottom:0.875rem;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-bullet-delivery-address-item:not(.s-bullet-delivery-address-item--disabled):hover{background-color:rgb(249 250 251 / 0.5)}.s-bullet-delivery-address-item--selected{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.s-bullet-delivery-address-item--disabled{cursor:not-allowed;opacity:0.6}.s-bullet-delivery-address-item--skeleton{display:flex;cursor:default;align-items:center;gap:0.75rem;border-radius:0.75rem;border-width:1px;border-bottom-width:0px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:1rem;padding-right:1rem;padding-top:1rem;padding-bottom:1rem}.s-bullet-delivery-address-item--skeleton .s-bullet-delivery-address-lines{gap:0.5rem}.s-bullet-delivery-address-content{display:flex;min-width:0px;flex:1 1 0%;flex-direction:column;justify-content:center;text-align:start}.s-bullet-delivery-address-lines{display:flex;flex-direction:column;gap:0.125rem}.s-bullet-delivery-address-line1{display:block;font-size:1rem;line-height:1.5rem;font-weight:400;line-height:1.375;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-bullet-delivery-address-line2{display:block;font-size:0.875rem;line-height:1.25rem;line-height:1.375;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-bullet-delivery-address-map-icon{display:grid;height:2.5rem;width:2.5rem;place-content:center}.s-bullet-delivery-address-map-icon svg{height:100%;width:100%}.s-bullet-delivery-skel-radio{flex-shrink:0;border-radius:9999px}.s-bullet-delivery-skel-map{flex-shrink:0;border-radius:0.75rem}.s-bullet-delivery-search{position:relative;flex:1 1 0%}.s-bullet-delivery-search-icon{pointer-events:none;position:absolute;top:0px;bottom:0px;left:0px;display:flex;align-items:center;padding-left:0.75rem}.s-bullet-delivery-search-icon:where([dir=\"rtl\"],[dir=\"rtl\"] *){left:auto;right:0px;padding-left:0px;padding-right:0.75rem}.s-bullet-delivery-search-icon svg{height:0.875rem;width:0.875rem;stroke:var(--color-primary)}.s-bullet-delivery-branch-search-wrap{display:flex;min-height:40px;min-width:0px;flex:1 1 0%;flex-direction:row;align-items:stretch;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-bullet-delivery-branch-search-wrap:focus-within{border-color:var(--color-primary-dark);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);--tw-ring-color:var(--color-primary-dark)}.s-bullet-delivery-branch-search-icon{pointer-events:none;position:static;display:flex;flex-shrink:0;align-items:center;justify-content:center;padding-inline-start:0.5rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-bullet-delivery-branch-search-icon svg{height:1.25rem;width:1.25rem}.s-bullet-delivery-branch-search-input{min-height:40px;min-width:0px;flex:1 1 0%;border-radius:0px;border-style:none;background-color:transparent;padding-top:0.5rem;padding-bottom:0.5rem;padding-inline-end:0.75rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1));--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.s-bullet-delivery-branch-search-input::placeholder{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-bullet-delivery-branch-search-input:focus{outline:2px solid transparent;outline-offset:2px;border:none;box-shadow:none;--tw-ring-shadow:none}.s-bullet-delivery-location-btn{display:flex;flex-shrink:0;cursor:pointer;align-items:center;justify-content:center;gap:0.5rem;border-radius:0.5rem;border-width:1px;padding-left:1rem;padding-right:1rem;padding-top:0.5rem;padding-bottom:0.5rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1));transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-bullet-delivery-location-btn:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.s-bullet-delivery-location-btn:disabled{cursor:not-allowed;opacity:0.5}.s-bullet-delivery-location-btn--full{min-height:40px}.s-bullet-delivery-location-btn--loading{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.s-bullet-delivery-location-icon{height:0.875rem;width:0.875rem;flex-shrink:0}.s-bullet-delivery-location-icon svg{height:100%;width:100%}.s-bullet-delivery-branches-wrap{overflow:hidden}.s-bullet-delivery-branches-list{max-height:min(260px, 32svh);overflow-y:auto;border-radius:0.5rem;border-width:1px;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}@media (min-width: 768px){.s-bullet-delivery-branches-list{max-height:220px}}.s-bullet-delivery-branches-loading{overflow:hidden;border-radius:0.5rem;border-width:1px;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.s-bullet-delivery-branch-info{display:flex;max-width:6.25rem;flex-direction:column;gap:0.125rem}.s-bullet-delivery-branch-name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:break-word;font-size:0.875rem;line-height:1.25rem;font-weight:500;line-height:1.375;--tw-text-opacity:1;color:rgb(24 24 27 / var(--tw-text-opacity, 1))}.s-bullet-delivery-branch-prep{text-align:start;font-size:0.875rem;line-height:1.25rem;font-weight:400;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-bullet-delivery-branch-time{font-size:0.875rem;line-height:1.25rem;font-weight:400;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-bullet-delivery-branch-time:where([dir=\"ltr\"],[dir=\"ltr\"] *){text-align:end}.s-bullet-delivery-branch-time:where([dir=\"rtl\"],[dir=\"rtl\"] *){text-align:start}.s-bullet-delivery-branch-map-link{display:flex;flex-shrink:0;align-items:center;justify-content:center;border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:0.5rem;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));text-decoration-line:none;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-bullet-delivery-branch-map-link:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.s-bullet-delivery-branch-item>.s-bullet-delivery-branch-map-link{position:relative;z-index:10;pointer-events:auto}.s-bullet-delivery-branch-map-link-icon{display:flex;height:0.875rem;width:0.875rem;align-items:center;justify-content:center}.s-bullet-delivery-branch-map-link-icon svg{height:100%;width:100%}.s-bullet-delivery-branch-skeleton-title{max-width:100%}.s-bullet-delivery-branch-skeleton-time{justify-self:end}.s-bullet-delivery-branch-item{display:grid;min-width:0px;cursor:pointer;align-items:center;gap:0.5rem;border-bottom-width:1px;--tw-border-opacity:1;border-bottom-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-left:1rem;padding-right:1rem;padding-top:0.75rem;padding-bottom:0.75rem;text-align:end;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;grid-template-columns:auto auto auto 1fr auto}.s-bullet-delivery-branch-item:last-child{border-bottom-width:0px}.s-bullet-delivery-branch-item:hover:not(.s-bullet-delivery-branch-item--disabled){--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.s-bullet-delivery-branch-item--selected{background-color:color-mix(in srgb,var(--color-primary) 5%,transparent)}.s-bullet-delivery-branch-item--disabled{cursor:not-allowed;opacity:0.5}.s-bullet-delivery-branch-icon{display:grid;place-content:center;border-radius:0.75rem;--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));stroke:var(--color-primary-dark);padding:0.625rem;color:var(--color-primary-dark)}.s-bullet-delivery-branch-icon span{display:block;height:0.875rem;width:0.875rem}.s-bullet-delivery-branch-icon span svg{height:100%;width:100%}.s-bullet-delivery-branch-skeleton{display:grid;min-width:0px;align-items:center;gap:0.5rem;border-bottom-width:1px;--tw-border-opacity:1;border-bottom-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:1rem;padding-right:1rem;padding-top:0.75rem;padding-bottom:0.75rem;grid-template-columns:auto auto auto 1fr auto}.s-bullet-delivery-branch-skeleton:last-child{border-bottom-width:0px}.s-bullet-delivery-branch-skeleton-radio{flex-shrink:0}.s-bullet-delivery-branch-skeleton-icon{flex-shrink:0;border-radius:0.75rem}.s-bullet-delivery-branch-skeleton-icon salla-skeleton{display:block}.s-bullet-delivery-branch-skeleton-map{flex-shrink:0;border-radius:0.75rem}.s-bullet-delivery-branch-skeleton-map salla-skeleton{display:block}.s-bullet-delivery-branch-skeleton-content{display:flex;min-width:0px;flex-direction:column;gap:0.5rem;overflow:hidden}.s-bullet-delivery-branch-skeleton-content salla-skeleton{min-width:0px;max-width:100%}.s-bullet-delivery-radio{margin-top:2px;height:1rem;width:1rem;flex-shrink:0;cursor:pointer;appearance:none;border-radius:9999px;border-width:2px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-bullet-delivery-radio:checked{border-color:var(--color-primary-dark);background:radial-gradient(circle,#fff 0,#fff 22%,var(--color-primary) 22%)}.s-bullet-delivery-radio:focus{outline:2px solid transparent;outline-offset:2px}.s-bullet-delivery-radio:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);--tw-ring-color:var(--color-primary-dark);--tw-ring-offset-width:2px}.s-bullet-delivery-skeleton{box-sizing:border-box;min-width:0px;max-width:100%;overflow:hidden;padding:1.25rem}.s-bullet-delivery-skeleton salla-skeleton{min-width:0px;max-width:100%}.s-bullet-delivery-skeleton-header{margin-bottom:1.5rem;display:flex;min-width:0px;max-width:100%;flex-direction:column;align-items:flex-start;gap:0.75rem}.s-bullet-delivery-skeleton-title{display:block;max-width:100%}.s-bullet-delivery-skeleton-subtitle{display:block;max-width:100%}.s-bullet-delivery-skeleton-tabs{margin-bottom:1.5rem;display:grid;min-width:0px;max-width:100%;grid-template-columns:repeat(2, minmax(0, 1fr));gap:0.5rem}.s-bullet-delivery-skeleton-tabs--single{grid-template-columns:repeat(1, minmax(0, 1fr))}.s-bullet-delivery-skeleton-tab{display:flex;align-items:center;gap:1rem;border-radius:0.75rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-left:1rem;padding-right:1rem;padding-top:0.75rem;padding-bottom:0.75rem;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-bullet-delivery-skeleton-tab-icon{display:block;max-width:100%}.s-bullet-delivery-skeleton-tab-label{display:block;max-width:100%}.s-bullet-delivery-skeleton-field-label{display:block;max-width:100%}.s-bullet-delivery-skeleton-field-control{display:block;max-width:100%}.s-bullet-delivery-skeleton-content{margin-bottom:1.5rem;display:grid;min-width:0px;max-width:100%;gap:1rem}.s-bullet-delivery-skeleton-field{display:flex;min-width:0px;max-width:100%;flex-direction:column;align-items:flex-start;gap:0.5rem}.s-bullet-delivery-skeleton-footer{min-width:0px;max-width:100%}.s-bullet-delivery-add-address-header{margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:0.75rem}.s-bullet-delivery-add-address-title{display:flex;width:100%;flex:1 1 0%;cursor:pointer;align-items:center;border-style:none;background-color:transparent;padding:0px;text-align:start;font-size:1.125rem;line-height:1.75rem;font-weight:700;color:var(--color-primary)}.s-bullet-delivery-add-address svg{height:1.5rem;width:1.5rem;fill:currentColor}.s-bullet-delivery-add-address-form{display:grid;gap:1rem}.s-bullet-delivery-add-address-submit{width:100%}.s-bullet-delivery-form-actions{display:flex;gap:0.75rem;border-top-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));padding-top:1rem}.s-bullet-delivery-form-actions salla-button{flex:1 1 0%}.s-bullet-delivery-form-actions--single{border-top-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-top:1.25rem}.s-bullet-delivery-form-actions--single salla-button{width:100%;flex:1 1 0%}.s-bullet-delivery-market-warning-overlay{position:fixed;inset:0px;z-index:60;display:flex;align-items:center;justify-content:center;background-color:rgb(0 0 0 / 0.5)}.s-bullet-delivery-market-warning{margin-left:1rem;margin-right:1rem;width:100%;max-width:24rem;border-radius:0.75rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1.5rem;--tw-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.s-bullet-delivery-market-warning-title{margin-bottom:0.75rem;font-size:1.125rem;line-height:1.75rem;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-bullet-delivery-market-warning-message{margin-bottom:1.5rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-bullet-delivery-market-warning-actions{display:flex;gap:0.75rem}.s-bullet-delivery-market-warning-actions salla-button{flex:1 1 0%}.s-bullet-delivery-cart-view{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-radius:0.75rem;border-width:1px;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1rem}.s-bullet-delivery-cart-view-info{display:flex;min-width:0px;flex:1 1 0%;align-items:center;gap:0.75rem}.s-bullet-delivery-cart-view-text{display:flex;flex-direction:column;text-align:start}.s-bullet-delivery-cart-view-title{font-size:1rem;line-height:1.5rem;font-weight:600;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-bullet-delivery-cart-view-subtitle{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));margin-block-start:0.125rem}.s-bullet-delivery-cart-view-icon{display:flex;height:3.5rem;width:3.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:1rem;--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));color:var(--color-primary-dark)}.s-bullet-delivery-cart-view-icon svg{height:1.25rem;width:1.25rem;stroke:currentColor}.s-bullet-delivery-cart-view-button{flex-shrink:0;align-self:center}";
|
|
58
|
+
const sallaBulletDeliveryCss = "/*!twlt*/@charset \"UTF-8\";@supports (interpolate-size: allow-keywords) and (block-size: calc-size(auto, size)){.s-bullet-delivery .s-bullet-delivery-modal .s-modal-body,.s-bullet-delivery-inner{interpolate-size:allow-keywords}.s-bullet-delivery .s-bullet-delivery-modal .s-modal-body{overflow:clip;transition:block-size 500ms ease}.s-bullet-delivery-inner{overflow:clip;transition:block-size 500ms ease;block-size:calc-size(auto, size)}}.s-bullet-delivery .s-bullet-delivery-modal .s-modal-body:has(.s-searchable-dropdown--open){overflow:visible !important}.s-bullet-delivery-form-actions.s-bullet-delivery-form-actions--single{padding-bottom:0;flex-direction:column;gap:0}.s-bullet-delivery-addresses-list.s-scrollbar::-webkit-scrollbar-track,.s-bullet-delivery-branches-list.s-scrollbar::-webkit-scrollbar-track{background-color:transparent}.s-bullet-delivery-back-to-list-link{display:inline-flex;align-items:center;justify-content:center;gap:2px;width:100%;margin-top:12px;background:none;border:none;color:var(--color-primary, #004956);font-size:14px;font-weight:500;cursor:pointer;padding:0}.s-bullet-delivery-back-to-list-link i{font-size:12px}.first-letter-cap::first-letter{text-transform:uppercase}.s-bullet-delivery-map-container{width:100%;height:320px;border-radius:8px;overflow:hidden;margin-bottom:12px}.s-bullet-delivery-map-container gmap-map{display:block;width:100%;height:100%}.s-bullet-delivery-address-confirm{display:flex;flex-direction:column;gap:20px;animation:s-bullet-delivery-fade-in 200ms ease}.s-bullet-delivery-address-confirm-card{display:flex;align-items:center;gap:12px;border:1px solid #eee;border-radius:6px;padding:12px}.s-bullet-delivery-address-map-icon{overflow:hidden;border-radius:9px}.s-bullet-delivery-address-confirm-details{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0}.s-bullet-delivery-address-confirm-label{font-size:12px;line-height:16px;color:#666}.s-bullet-delivery-address-confirm-text{font-size:14px;font-weight:700;color:#333;margin:0;word-break:break-word}.s-bullet-delivery-address-confirm-description{display:flex;flex-direction:column;gap:8px}.s-bullet-delivery-address-confirm-description-label{font-size:14px;font-weight:500;color:#444}.s-bullet-delivery-address-confirm-description-optional{font-weight:400;color:#999;margin-inline-start:4px}.s-bullet-delivery-address-confirm-description-input{width:100%;border:1px solid #eee;border-radius:8px;padding:10px 12px;font-size:14px;margin-bottom:16px}.s-bullet-delivery-login-prompt{display:block;width:100%;text-align:center;background:none;border:none;color:var(--color-primary, #004956);font-size:14px;font-weight:500;cursor:pointer;padding:12px 0}@keyframes s-bullet-delivery-fade-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.branch-status-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;max-height:20px;border-radius:20px;font-size:9px;font-weight:500;border:1px solid transparent;white-space:nowrap}.branch-status-badge.green{color:#43a047;background:#e8f5e9;border-color:#43a047}.branch-status-badge.blue{color:#1e88e5;background:#e3f2fd;border-color:#1e88e5}.branch-status-badge.red{color:#e53935;background:#fdf2f2;border-color:#e53935}.branch-status-badge.yellow{color:#f9a825;background:#fff8e1;border-color:#f9a825}.branch-status-badge.gray{color:#757575;background:#f5f5f5;border-color:#757575}.branch-status-badge.brown{color:#6d4c41;background:#efebe9;border-color:#6d4c41}.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}.visible{visibility:visible}.static{position:static}.mb-1{margin-bottom:0.25rem}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.gap-1{gap:0.25rem}.text-start{text-align:start}.\\!text-blue-600{--tw-text-opacity:1 !important;color:rgb(37 99 235 / var(--tw-text-opacity, 1)) !important}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.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)}.transition{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:150ms}.s-hidden{display:none}.form-input{height:2.5rem;width:100%;border-radius:0.375rem;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.form-input:focus{border-color:var(--color-primary);--tw-ring-color:transparent}.form-input:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.form-input:focus:is(.dark *){border-color:var(--color-primary)}@media (min-width: 640px){.form-input{font-size:0.875rem;line-height:1.25rem}}.\\!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}.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}.spinner-loader.reverse{border-right-color:#9f7171 !important;background-color:#f98181}.s-hidden{display:none}.s-scrollbar::-webkit-scrollbar{width:5px}.s-scrollbar::-webkit-scrollbar-track{background-color:#eee}.s-scrollbar::-webkit-scrollbar-thumb{background-color:var(--color-primary);border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;-ms-border-radius:10px;-o-border-radius:10px}.s-bullet-delivery .s-bullet-delivery-modal .s-modal-body{padding:0px}@media (min-width: 768px){.s-bullet-delivery .s-bullet-delivery-modal .s-modal-body{max-height:70dvh;overflow-y:auto}}.s-bullet-delivery .s-bullet-delivery-modal .s-modal-body:has(.s-searchable-dropdown--open){overflow:visible !important}.s-bullet-delivery-inner{min-block-size:0}.s-bullet-delivery-header{margin-bottom:1.5rem;text-align:start}.s-bullet-delivery-title{display:block;font-size:1.25rem;line-height:1.75rem;font-weight:700;color:var(--color-primary-dark)}.s-bullet-delivery-subtitle{margin-top:0.25rem;display:block;font-size:0.875rem;line-height:1.25rem;color:var(--color-primary-dark)}.s-bullet-delivery-tabs{margin-bottom:1.5rem;display:flex;gap:0.5rem}.s-bullet-delivery-tab{display:flex;flex:1 1 0%;cursor:pointer;align-items:center;gap:1rem;border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-top:0.5rem;padding-bottom:0.5rem;padding-left:0.75rem;padding-right:0.75rem;font-size:0.875rem;line-height:1.25rem;font-weight:500;color:var(--color-primary-dark);transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:200ms}.s-bullet-delivery-tab:hover{background-color:color-mix(in srgb,var(--color-primary) 5%,transparent)}.s-bullet-delivery-tab--active{border-color:var(--color-primary-dark)}.s-bullet-delivery-tab svg{height:0.875rem;width:0.875rem;color:var(--color-primary-dark)}.s-bullet-delivery-tab-icon{display:flex;height:2rem;width:2rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:0.75rem;--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.s-bullet-delivery-allocation-out-of-coverage{margin-bottom:1rem;display:flex;width:100%;align-items:center;gap:0.5rem;--tw-bg-opacity:1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1));padding-top:0.75rem;padding-bottom:0.75rem;padding-left:1rem;padding-right:1rem;text-align:end;--tw-text-opacity:1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.s-bullet-delivery-allocation-out-of-coverage:where([dir=\"ltr\"],[dir=\"ltr\"] *){border-left-width:4px;border-left-color:rgb(239 68 68 / 0.5)}.s-bullet-delivery-allocation-out-of-coverage:where([dir=\"rtl\"],[dir=\"rtl\"] *){border-right-width:4px;border-right-color:rgb(239 68 68 / 0.5)}.s-bullet-delivery-allocation-out-of-coverage-text{font-size:0.875rem;line-height:1.25rem;line-height:1.4}.s-bullet-delivery-allocation-out-of-coverage-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;--tw-text-opacity:1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.s-bullet-delivery-content{margin-bottom:1.5rem;display:grid;gap:1rem}.s-bullet-delivery-content--active{animation:s-bullet-delivery-fade-in 220ms ease-out}.s-bullet-delivery-label{margin-bottom:0.5rem;display:block;font-size:0.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-bullet-delivery-error{margin-top:0.25rem;display:block;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-bullet-delivery-footer{display:grid;gap:0.75rem;text-align:center}.s-bullet-delivery-placeholder{margin-top:1rem;margin-bottom:1rem}.s-bullet-delivery-placeholder.s-placeholder-wrapper{margin-top:1rem !important;margin-bottom:1rem !important}.s-bullet-delivery-label-content{display:inline-flex;align-items:center;gap:0.5rem}.s-bullet-delivery-select-loader{display:inline-flex;align-items:center;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-bullet-delivery-search-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:0.5rem;padding-left:1px;padding-right:1px}.s-bullet-delivery-search-row .s-bullet-delivery-search{min-width:0px;flex:1 1 0%}.s-bullet-delivery-search-row .s-bullet-delivery-location-btn{width:auto;flex-shrink:0}.s-bullet-delivery-field-row{margin-bottom:1rem;display:flex;gap:1rem}.s-bullet-delivery-field-row .s-bullet-delivery-field{margin-bottom:0px;flex:1 1 0%}.s-bullet-delivery-saved-addresses-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.s-bullet-delivery-saved-addresses-empty-icon{margin-bottom:0.75rem;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-bullet-delivery-saved-addresses-empty-icon svg{height:2rem;width:2rem}.s-bullet-delivery-saved-addresses-empty-title{margin-bottom:0.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:700;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-bullet-delivery-saved-addresses-empty-desc{margin-bottom:1.5rem;max-width:24rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-bullet-delivery-addresses-list{display:flex;max-height:260px;flex-direction:column;overflow-y:auto;border-radius:0.75rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}@media (min-width: 768px){.s-bullet-delivery-addresses-list{max-height:220px}}.s-bullet-delivery-address-item{display:flex;cursor:pointer;flex-direction:row;align-items:center;gap:0.75rem;border-bottom-width:1px;--tw-border-opacity:1;border-bottom-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-left:1rem;padding-right:1rem;padding-top:0.875rem;padding-bottom:0.875rem;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-bullet-delivery-address-item:not(.s-bullet-delivery-address-item--disabled):hover{background-color:rgb(249 250 251 / 0.5)}.s-bullet-delivery-address-item--selected{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.s-bullet-delivery-address-item--disabled{cursor:not-allowed;opacity:0.6}.s-bullet-delivery-address-item--skeleton{display:flex;cursor:default;align-items:center;gap:0.75rem;border-radius:0.75rem;border-width:1px;border-bottom-width:0px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:1rem;padding-right:1rem;padding-top:1rem;padding-bottom:1rem}.s-bullet-delivery-address-item--skeleton .s-bullet-delivery-address-lines{gap:0.5rem}.s-bullet-delivery-address-content{display:flex;min-width:0px;flex:1 1 0%;flex-direction:column;justify-content:center;text-align:start}.s-bullet-delivery-address-lines{display:flex;flex-direction:column;gap:0.125rem}.s-bullet-delivery-address-line1{display:block;font-size:1rem;line-height:1.5rem;font-weight:400;line-height:1.375;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-bullet-delivery-address-line2{display:block;font-size:0.875rem;line-height:1.25rem;line-height:1.375;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-bullet-delivery-address-map-icon{display:grid;height:2.5rem;width:2.5rem;place-content:center}.s-bullet-delivery-address-map-icon svg{height:100%;width:100%}.s-bullet-delivery-skel-radio{flex-shrink:0;border-radius:9999px}.s-bullet-delivery-skel-map{flex-shrink:0;border-radius:0.75rem}.s-bullet-delivery-search{position:relative;flex:1 1 0%}.s-bullet-delivery-search-icon{pointer-events:none;position:absolute;top:0px;bottom:0px;left:0px;display:flex;align-items:center;padding-left:0.75rem}.s-bullet-delivery-search-icon:where([dir=\"rtl\"],[dir=\"rtl\"] *){left:auto;right:0px;padding-left:0px;padding-right:0.75rem}.s-bullet-delivery-search-icon svg{height:0.875rem;width:0.875rem;stroke:var(--color-primary)}.s-bullet-delivery-branch-search-wrap{display:flex;min-height:40px;min-width:0px;flex:1 1 0%;flex-direction:row;align-items:stretch;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-bullet-delivery-branch-search-wrap:focus-within{border-color:var(--color-primary-dark);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);--tw-ring-color:var(--color-primary-dark)}.s-bullet-delivery-branch-search-icon{pointer-events:none;position:static;display:flex;flex-shrink:0;align-items:center;justify-content:center;padding-inline-start:0.5rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-bullet-delivery-branch-search-icon svg{height:1.25rem;width:1.25rem}.s-bullet-delivery-branch-search-input{min-height:40px;min-width:0px;flex:1 1 0%;border-radius:0px;border-style:none;background-color:transparent;padding-top:0.5rem;padding-bottom:0.5rem;padding-inline-end:0.75rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1));--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.s-bullet-delivery-branch-search-input::placeholder{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-bullet-delivery-branch-search-input:focus{outline:2px solid transparent;outline-offset:2px;border:none;box-shadow:none;--tw-ring-shadow:none}.s-bullet-delivery-location-btn{display:flex;flex-shrink:0;cursor:pointer;align-items:center;justify-content:center;gap:0.5rem;border-radius:0.5rem;border-width:1px;padding-left:1rem;padding-right:1rem;padding-top:0.5rem;padding-bottom:0.5rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1));transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-bullet-delivery-location-btn:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.s-bullet-delivery-location-btn:disabled{cursor:not-allowed;opacity:0.5}.s-bullet-delivery-location-btn--full{min-height:40px}.s-bullet-delivery-location-btn--loading{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.s-bullet-delivery-location-icon{height:0.875rem;width:0.875rem;flex-shrink:0}.s-bullet-delivery-location-icon svg{height:100%;width:100%}.s-bullet-delivery-branches-wrap{overflow:hidden}.s-bullet-delivery-branches-list{max-height:min(260px, 32svh);overflow-y:auto;border-radius:0.5rem;border-width:1px;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}@media (min-width: 768px){.s-bullet-delivery-branches-list{max-height:220px}}.s-bullet-delivery-branches-loading{overflow:hidden;border-radius:0.5rem;border-width:1px;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.s-bullet-delivery-branch-info{display:flex;max-width:6.25rem;flex-direction:column;gap:0.125rem}.s-bullet-delivery-branch-name{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:break-word;font-size:0.875rem;line-height:1.25rem;font-weight:500;line-height:1.375;--tw-text-opacity:1;color:rgb(24 24 27 / var(--tw-text-opacity, 1))}.s-bullet-delivery-branch-prep{text-align:start;font-size:0.875rem;line-height:1.25rem;font-weight:400;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-bullet-delivery-branch-time{font-size:0.875rem;line-height:1.25rem;font-weight:400;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-bullet-delivery-branch-time:where([dir=\"ltr\"],[dir=\"ltr\"] *){text-align:end}.s-bullet-delivery-branch-time:where([dir=\"rtl\"],[dir=\"rtl\"] *){text-align:start}.s-bullet-delivery-branch-map-link{display:flex;flex-shrink:0;align-items:center;justify-content:center;border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:0.5rem;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));text-decoration-line:none;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-bullet-delivery-branch-map-link:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.s-bullet-delivery-branch-item>.s-bullet-delivery-branch-map-link{position:relative;z-index:10;pointer-events:auto}.s-bullet-delivery-branch-map-link-icon{display:flex;height:0.875rem;width:0.875rem;align-items:center;justify-content:center}.s-bullet-delivery-branch-map-link-icon svg{height:100%;width:100%}.s-bullet-delivery-branch-skeleton-title{max-width:100%}.s-bullet-delivery-branch-skeleton-time{justify-self:end}.s-bullet-delivery-branch-item{display:grid;min-width:0px;cursor:pointer;align-items:center;gap:0.5rem;border-bottom-width:1px;--tw-border-opacity:1;border-bottom-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-left:1rem;padding-right:1rem;padding-top:0.75rem;padding-bottom:0.75rem;text-align:end;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;grid-template-columns:auto auto auto 1fr auto}.s-bullet-delivery-branch-item:last-child{border-bottom-width:0px}.s-bullet-delivery-branch-item:hover:not(.s-bullet-delivery-branch-item--disabled){--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.s-bullet-delivery-branch-item--selected{background-color:color-mix(in srgb,var(--color-primary) 5%,transparent)}.s-bullet-delivery-branch-item--disabled{cursor:not-allowed;opacity:0.5}.s-bullet-delivery-branch-icon{display:grid;place-content:center;border-radius:0.75rem;--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));stroke:var(--color-primary-dark);padding:0.625rem;color:var(--color-primary-dark)}.s-bullet-delivery-branch-icon span{display:block;height:0.875rem;width:0.875rem}.s-bullet-delivery-branch-icon span svg{height:100%;width:100%}.s-bullet-delivery-branch-skeleton{display:grid;min-width:0px;align-items:center;gap:0.5rem;border-bottom-width:1px;--tw-border-opacity:1;border-bottom-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:1rem;padding-right:1rem;padding-top:0.75rem;padding-bottom:0.75rem;grid-template-columns:auto auto auto 1fr auto}.s-bullet-delivery-branch-skeleton:last-child{border-bottom-width:0px}.s-bullet-delivery-branch-skeleton-radio{flex-shrink:0}.s-bullet-delivery-branch-skeleton-icon{flex-shrink:0;border-radius:0.75rem}.s-bullet-delivery-branch-skeleton-icon salla-skeleton{display:block}.s-bullet-delivery-branch-skeleton-map{flex-shrink:0;border-radius:0.75rem}.s-bullet-delivery-branch-skeleton-map salla-skeleton{display:block}.s-bullet-delivery-branch-skeleton-content{display:flex;min-width:0px;flex-direction:column;gap:0.5rem;overflow:hidden}.s-bullet-delivery-branch-skeleton-content salla-skeleton{min-width:0px;max-width:100%}.s-bullet-delivery-radio{margin-top:2px;height:1rem;width:1rem;flex-shrink:0;cursor:pointer;appearance:none;border-radius:9999px;border-width:2px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-bullet-delivery-radio:checked{border-color:var(--color-primary-dark);background:radial-gradient(circle,#fff 0,#fff 22%,var(--color-primary) 22%)}.s-bullet-delivery-radio:focus{outline:2px solid transparent;outline-offset:2px}.s-bullet-delivery-radio:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);--tw-ring-color:var(--color-primary-dark);--tw-ring-offset-width:2px}.s-bullet-delivery-skeleton{box-sizing:border-box;min-width:0px;max-width:100%;overflow:hidden;padding:1.25rem}.s-bullet-delivery-skeleton salla-skeleton{min-width:0px;max-width:100%}.s-bullet-delivery-skeleton-header{margin-bottom:1.5rem;display:flex;min-width:0px;max-width:100%;flex-direction:column;align-items:flex-start;gap:0.75rem}.s-bullet-delivery-skeleton-title{display:block;max-width:100%}.s-bullet-delivery-skeleton-subtitle{display:block;max-width:100%}.s-bullet-delivery-skeleton-tabs{margin-bottom:1.5rem;display:grid;min-width:0px;max-width:100%;grid-template-columns:repeat(2, minmax(0, 1fr));gap:0.5rem}.s-bullet-delivery-skeleton-tabs--single{grid-template-columns:repeat(1, minmax(0, 1fr))}.s-bullet-delivery-skeleton-tab{display:flex;align-items:center;gap:1rem;border-radius:0.75rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-left:1rem;padding-right:1rem;padding-top:0.75rem;padding-bottom:0.75rem;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-bullet-delivery-skeleton-tab-icon{display:block;max-width:100%}.s-bullet-delivery-skeleton-tab-label{display:block;max-width:100%}.s-bullet-delivery-skeleton-field-label{display:block;max-width:100%}.s-bullet-delivery-skeleton-field-control{display:block;max-width:100%}.s-bullet-delivery-skeleton-content{margin-bottom:1.5rem;display:grid;min-width:0px;max-width:100%;gap:1rem}.s-bullet-delivery-skeleton-field{display:flex;min-width:0px;max-width:100%;flex-direction:column;align-items:flex-start;gap:0.5rem}.s-bullet-delivery-skeleton-footer{min-width:0px;max-width:100%}.s-bullet-delivery-add-address-header{margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:0.75rem}.s-bullet-delivery-add-address-title{display:flex;width:100%;flex:1 1 0%;cursor:pointer;align-items:center;border-style:none;background-color:transparent;padding:0px;text-align:start;font-size:1.125rem;line-height:1.75rem;font-weight:700;color:var(--color-primary)}.s-bullet-delivery-add-address svg{height:2.5rem;width:2.5rem;fill:currentColor}.s-bullet-delivery-allocation-out-of-coverage-icon svg{height:1.25rem;width:1.25rem}.s-bullet-delivery-add-address-form{display:grid;gap:1rem}.s-bullet-delivery-add-address-submit{width:100%}.s-bullet-delivery-form-actions{display:flex;gap:0.75rem;border-top-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));padding-top:1rem}.s-bullet-delivery-form-actions salla-button{flex:1 1 0%}.s-bullet-delivery-form-actions--single{border-top-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-top:1.25rem}.s-bullet-delivery-form-actions--single salla-button{width:100%;flex:1 1 0%}.s-bullet-delivery-market-warning-overlay{position:fixed;inset:0px;z-index:60;display:flex;align-items:center;justify-content:center;background-color:rgb(0 0 0 / 0.5)}.s-bullet-delivery-market-warning{margin-left:1rem;margin-right:1rem;width:100%;max-width:24rem;border-radius:0.75rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1.5rem;--tw-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.s-bullet-delivery-market-warning-title{margin-bottom:0.75rem;font-size:1.125rem;line-height:1.75rem;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-bullet-delivery-market-warning-message{margin-bottom:1.5rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-bullet-delivery-market-warning-actions{display:flex;gap:0.75rem}.s-bullet-delivery-market-warning-actions salla-button{flex:1 1 0%}.s-bullet-delivery-cart-view{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-radius:0.75rem;border-width:1px;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1rem}.s-bullet-delivery-cart-view-info{display:flex;min-width:0px;flex:1 1 0%;align-items:center;gap:0.75rem}.s-bullet-delivery-cart-view-text{display:flex;flex-direction:column;text-align:start}.s-bullet-delivery-cart-view-title{font-size:1rem;line-height:1.5rem;font-weight:600;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-bullet-delivery-cart-view-subtitle{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));margin-block-start:0.125rem}.s-bullet-delivery-cart-view-icon{display:flex;height:3.5rem;width:3.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:1rem;--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));color:var(--color-primary-dark)}.s-bullet-delivery-cart-view-icon svg{height:1.25rem;width:1.25rem;stroke:currentColor}.s-bullet-delivery-cart-view-button{flex-shrink:0;align-self:center}";
|
|
94
59
|
|
|
95
60
|
const BRANCH_SEARCH_DEBOUNCE_MS = 1000;
|
|
96
61
|
const GEOLOCATION_TIMEOUT = 10000;
|
|
@@ -110,7 +75,6 @@ const SallaBulletDelivery = class {
|
|
|
110
75
|
this.bulletDeliveryClosed = index.createEvent(this, "bulletDeliveryClosed");
|
|
111
76
|
this.addressCreated = index.createEvent(this, "addressCreated");
|
|
112
77
|
this.headerContextUpdate = index.createEvent(this, "headerContextUpdate");
|
|
113
|
-
this.confirming = false;
|
|
114
78
|
this.pendingCartSubmitResolver = null;
|
|
115
79
|
this.pendingCartSubmitPromise = null;
|
|
116
80
|
this.cartSubmitConfirmationPending = false;
|
|
@@ -131,6 +95,8 @@ const SallaBulletDelivery = class {
|
|
|
131
95
|
this.cartSubmittingHandler = null;
|
|
132
96
|
this.useCartEventApi = false;
|
|
133
97
|
this.authLoggedInHandler = null;
|
|
98
|
+
/** Re-entrancy latch for tryAutoConfirmAfterLogin(); a flaky/duplicate auth::logged.in must not double-save. */
|
|
99
|
+
this.autoConfirmAfterLoginInFlight = false;
|
|
134
100
|
this.authLoggedOutHandler = null;
|
|
135
101
|
this.loginOpenHandler = null;
|
|
136
102
|
this.hasExplicitPreselectedIdsForOpen = false;
|
|
@@ -184,7 +150,6 @@ const SallaBulletDelivery = class {
|
|
|
184
150
|
this.loadingBranches = false;
|
|
185
151
|
this.loadingNearestBranch = false;
|
|
186
152
|
this.locationError = "";
|
|
187
|
-
this.savingAddress = false;
|
|
188
153
|
this.loadingSavedAddresses = false;
|
|
189
154
|
this.showCartWillBeClearedBanner = false;
|
|
190
155
|
// Searchable dropdown state
|
|
@@ -207,10 +172,10 @@ const SallaBulletDelivery = class {
|
|
|
207
172
|
this.addressToken = null;
|
|
208
173
|
this.loadingToken = false;
|
|
209
174
|
this.mapReady = false;
|
|
210
|
-
this.mapStep = 'map';
|
|
211
175
|
this.addressDescription = '';
|
|
212
176
|
/** True while reverse-geocoding a map-click/geolocation pick (no place from the map component itself). */
|
|
213
177
|
this.reverseGeocoding = false;
|
|
178
|
+
this.confirming = false;
|
|
214
179
|
this.newAddressForm = {
|
|
215
180
|
...SallaBulletDelivery.INITIAL_ADDRESS_FORM,
|
|
216
181
|
};
|
|
@@ -339,62 +304,35 @@ const SallaBulletDelivery = class {
|
|
|
339
304
|
}
|
|
340
305
|
}
|
|
341
306
|
};
|
|
307
|
+
// ─── End Map methods ───
|
|
342
308
|
/**
|
|
343
|
-
* Submit add-address form:
|
|
309
|
+
* Submit add-address form: stage the picked address/dropdowns as the session intent,
|
|
310
|
+
* then delegate to handleConfirm() for the single save→allocate→close path (avoids
|
|
311
|
+
* a second, independently-maintained "save an address" implementation — see SHPD-9907).
|
|
344
312
|
*/
|
|
345
|
-
this.
|
|
313
|
+
this.handleSubmitNewAddress = async (e) => {
|
|
346
314
|
e.preventDefault();
|
|
347
|
-
if (this.
|
|
315
|
+
if (this.confirming)
|
|
348
316
|
return;
|
|
349
|
-
const hasMap = this.
|
|
317
|
+
const hasMap = this.canConfirmMapLocation();
|
|
350
318
|
const hasDropdowns = this.selectedCountry && this.selectedCity;
|
|
351
319
|
if (!hasMap && !hasDropdowns)
|
|
352
320
|
return;
|
|
353
321
|
if (!hasMap &&
|
|
354
322
|
!helpers.requireRegionAndDistrictForSA(this.selectedCountry?.code, this.selectedRegion?.id, this.selectedDistrict?.id ?? (this.districtName?.trim() || null)))
|
|
355
323
|
return;
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
this.viewMode = "main";
|
|
369
|
-
this.districtName = "";
|
|
370
|
-
this.mapLocationData = null;
|
|
371
|
-
this.invalidatePendingGeocode();
|
|
372
|
-
this.mapStep = 'map';
|
|
373
|
-
this.addressDescription = '';
|
|
374
|
-
}
|
|
375
|
-
else {
|
|
376
|
-
if (!this.isLoggedIn) {
|
|
377
|
-
Salla.notify?.error(Salla.lang.get('pages.checkout.login_to_use_saved_addresses'));
|
|
378
|
-
this.handleLogin();
|
|
379
|
-
}
|
|
380
|
-
else {
|
|
381
|
-
Salla.notify?.error(Salla.lang.get("common.errors.error_occurred"));
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
}
|
|
385
|
-
catch (error) {
|
|
386
|
-
console.error("SallaBulletDelivery: Error saving address", error);
|
|
387
|
-
if (!this.isLoggedIn) {
|
|
388
|
-
Salla.notify?.error(Salla.lang.get('pages.checkout.login_to_use_saved_addresses'));
|
|
389
|
-
this.handleLogin();
|
|
390
|
-
}
|
|
391
|
-
else {
|
|
392
|
-
Salla.notify?.error(Salla.lang.get("common.errors.error_occurred"));
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
finally {
|
|
396
|
-
this.savingAddress = false;
|
|
397
|
-
}
|
|
324
|
+
const details = this.buildIntentAddress();
|
|
325
|
+
if (!details)
|
|
326
|
+
return;
|
|
327
|
+
this.setStoredIntent({
|
|
328
|
+
type: "address",
|
|
329
|
+
country_id: Number(this.selectedCountry?.id) || 0,
|
|
330
|
+
country_code: this.selectedCountry?.code || "",
|
|
331
|
+
address_details: details,
|
|
332
|
+
});
|
|
333
|
+
this.selectedSavedAddress = null;
|
|
334
|
+
this.selectedSessionAddress = true;
|
|
335
|
+
await this.handleConfirm();
|
|
398
336
|
};
|
|
399
337
|
this.handleCountrySelected = (item) => {
|
|
400
338
|
const country = this.countries.find(c => String(c.id) === String(item.id)) || item;
|
|
@@ -474,9 +412,12 @@ const SallaBulletDelivery = class {
|
|
|
474
412
|
return Salla.config.isMobileApp();
|
|
475
413
|
}
|
|
476
414
|
/**
|
|
477
|
-
* Opens the bullet delivery modal
|
|
415
|
+
* Opens the bullet delivery modal. Pass `silent: true` to run the same state/data
|
|
416
|
+
* loading below without showing the modal — used by tryAutoConfirmAfterLogin() so a
|
|
417
|
+
* successful auto-confirm never flashes the saved-addresses list; the caller is
|
|
418
|
+
* responsible for revealing the modal itself if it still needs the customer's input.
|
|
478
419
|
*/
|
|
479
|
-
async open() {
|
|
420
|
+
async open(silent = false) {
|
|
480
421
|
if (!this.isEnabled)
|
|
481
422
|
return; // feature disabled — never open
|
|
482
423
|
// If mobile app, open the sheet
|
|
@@ -491,9 +432,11 @@ const SallaBulletDelivery = class {
|
|
|
491
432
|
}
|
|
492
433
|
// Reset state before opening
|
|
493
434
|
this.resetState();
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
435
|
+
if (!silent) {
|
|
436
|
+
// Open modal immediately — fields render right away with inline loading
|
|
437
|
+
this.modal.open();
|
|
438
|
+
Salla.event.dispatch("salla::bullet-delivery.modal.opened");
|
|
439
|
+
}
|
|
497
440
|
try {
|
|
498
441
|
this.isLoggedIn = !this.isGuestUser();
|
|
499
442
|
const savedIntent = this.cleanStaleGuestAddressIdIfNeeded(this.getStoredIntent());
|
|
@@ -585,6 +528,7 @@ const SallaBulletDelivery = class {
|
|
|
585
528
|
this.mapLocationData = null;
|
|
586
529
|
this.invalidatePendingGeocode();
|
|
587
530
|
this.autoGeolocationTriggered = false;
|
|
531
|
+
this.addressDescription = "";
|
|
588
532
|
this.selectedCountry = null;
|
|
589
533
|
this.selectedRegion = null;
|
|
590
534
|
this.selectedCity = null;
|
|
@@ -683,12 +627,65 @@ const SallaBulletDelivery = class {
|
|
|
683
627
|
return false;
|
|
684
628
|
if (!this.isIntentMethodSupported(intent))
|
|
685
629
|
return false;
|
|
630
|
+
// address_id/branch_id alone isn't enough — saveSessionAddressToProfile() persists
|
|
631
|
+
// address_id as soon as the address is *saved*, before allocation even runs, so a
|
|
632
|
+
// later allocation failure must not make this look complete. scope_allocated is only
|
|
633
|
+
// ever explicitly false (that saved-not-allocated state) or true; undefined means a
|
|
634
|
+
// legacy intent persisted before this field existed (or one written elsewhere without
|
|
635
|
+
// an outcome yet) — treat that the same as before rather than incorrectly re-prompting
|
|
636
|
+
// returning customers who already had a valid, complete intent.
|
|
637
|
+
if (intent.scope_allocated === false)
|
|
638
|
+
return false;
|
|
686
639
|
if (intent.type === "address")
|
|
687
640
|
return !!intent.address_id;
|
|
688
641
|
if (intent.type === "branch")
|
|
689
642
|
return !!intent.branch_id;
|
|
690
643
|
return false;
|
|
691
644
|
}
|
|
645
|
+
/**
|
|
646
|
+
* Auto-save + allocate a guest's pre-login address pick the moment auth::logged.in
|
|
647
|
+
* fires, instead of reopening the modal and waiting for another "Confirm" click
|
|
648
|
+
* (SHPD-9907). Guarded by hasIncompleteUserAddressIntent(), which only turns false
|
|
649
|
+
* once the intent gains an address_id — a durable guard even across a duplicate
|
|
650
|
+
* event, unlike `confirming` alone which resets after the redirect timeout.
|
|
651
|
+
*/
|
|
652
|
+
async tryAutoConfirmAfterLogin() {
|
|
653
|
+
if (this.confirming || this.autoConfirmAfterLoginInFlight)
|
|
654
|
+
return false;
|
|
655
|
+
if (!this.hasIncompleteUserAddressIntent())
|
|
656
|
+
return false;
|
|
657
|
+
this.autoConfirmAfterLoginInFlight = true;
|
|
658
|
+
const wasVisible = !!this.modal?.hasAttribute?.("visible");
|
|
659
|
+
try {
|
|
660
|
+
if (!wasVisible) {
|
|
661
|
+
// Load silently — a successful auto-confirm should never flash the
|
|
662
|
+
// saved-addresses list; only reveal the modal below if it can't finish on its own.
|
|
663
|
+
await this.open(true);
|
|
664
|
+
}
|
|
665
|
+
// open() -> loadSavedAddresses() already sets selectedSessionAddress when a
|
|
666
|
+
// session intent exists; bail if that didn't happen (e.g. address_id already set).
|
|
667
|
+
if (!this.selectedSessionAddress) {
|
|
668
|
+
if (!wasVisible)
|
|
669
|
+
this.modal?.open();
|
|
670
|
+
return false;
|
|
671
|
+
}
|
|
672
|
+
await this.handleConfirm();
|
|
673
|
+
// Checking hasCompleteIntentForLoggedInUser() (rather than just
|
|
674
|
+
// allocationOutOfCoverageMessage) also catches a *save* failure — handleConfirm()
|
|
675
|
+
// returns early on that before ever setting an allocation message, which used to
|
|
676
|
+
// make this report success even though nothing was actually confirmed.
|
|
677
|
+
if (!wasVisible && !this.hasCompleteIntentForLoggedInUser()) {
|
|
678
|
+
// Save or allocation failed — surface the modal so the customer can see why
|
|
679
|
+
// and retry or pick a different address.
|
|
680
|
+
this.modal?.open();
|
|
681
|
+
return false;
|
|
682
|
+
}
|
|
683
|
+
return true;
|
|
684
|
+
}
|
|
685
|
+
finally {
|
|
686
|
+
this.autoConfirmAfterLoginInFlight = false;
|
|
687
|
+
}
|
|
688
|
+
}
|
|
692
689
|
/**
|
|
693
690
|
* Authenticated users on the cart page must select/confirm an address before
|
|
694
691
|
* they can dismiss the modal.
|
|
@@ -1300,10 +1297,13 @@ const SallaBulletDelivery = class {
|
|
|
1300
1297
|
this.viewMode = "main";
|
|
1301
1298
|
this.mapLocationData = null;
|
|
1302
1299
|
this.invalidatePendingGeocode();
|
|
1303
|
-
this.mapStep = 'map';
|
|
1304
1300
|
this.addressDescription = '';
|
|
1305
1301
|
this.autoGeolocationTriggered = false;
|
|
1306
1302
|
}
|
|
1303
|
+
/** Whether there's a saved-addresses list (or a pending session intent) to go back to from the add-address view. */
|
|
1304
|
+
hasAddressesToGoBack() {
|
|
1305
|
+
return this.savedAddresses.length > 0 || helpers.hasSessionAddressIntent(this.getStoredIntent());
|
|
1306
|
+
}
|
|
1307
1307
|
// ─── Map methods ───
|
|
1308
1308
|
async fetchAddressToken() {
|
|
1309
1309
|
if (this.addressToken || this.loadingToken)
|
|
@@ -1402,9 +1402,13 @@ const SallaBulletDelivery = class {
|
|
|
1402
1402
|
get isMapModeAvailable() {
|
|
1403
1403
|
return this.isMapSettingEnabled && !!salla.config.get('store.settings.keys.maps') && !!this.addressToken;
|
|
1404
1404
|
}
|
|
1405
|
+
/** In map mode and a pin has already been dropped (as opposed to still using the dropdowns), regardless of login state. */
|
|
1406
|
+
get isMapPick() {
|
|
1407
|
+
return this.isMapModeAvailable && this.hasMapLocation();
|
|
1408
|
+
}
|
|
1405
1409
|
/** Guest is in map mode and has already dropped a pin (as opposed to still using the dropdowns). */
|
|
1406
1410
|
get isGuestMapPick() {
|
|
1407
|
-
return !this.isLoggedIn && this.
|
|
1411
|
+
return !this.isLoggedIn && this.isMapPick;
|
|
1408
1412
|
}
|
|
1409
1413
|
/** Center shown before geolocation resolves — the customer's IP-based default (falls back to Riyadh). */
|
|
1410
1414
|
get mapInitialCenter() {
|
|
@@ -1427,32 +1431,6 @@ const SallaBulletDelivery = class {
|
|
|
1427
1431
|
const num = Number(value);
|
|
1428
1432
|
return Number.isFinite(num) ? num : null;
|
|
1429
1433
|
}
|
|
1430
|
-
// ─── End Map methods ───
|
|
1431
|
-
/**
|
|
1432
|
-
* Build address/location payload from guest-form state (same fields as add-address).
|
|
1433
|
-
*/
|
|
1434
|
-
buildAddressLocationPayload() {
|
|
1435
|
-
if (this.isMapModeAvailable && this.hasMapLocation()) {
|
|
1436
|
-
return {
|
|
1437
|
-
lat: this.mapLocationData.lat,
|
|
1438
|
-
lng: this.mapLocationData.lng,
|
|
1439
|
-
...(this.mapLocationData.shortAddress && { short_address: this.mapLocationData.shortAddress }),
|
|
1440
|
-
...(this.addressDescription?.trim() && { description: this.addressDescription.trim() }),
|
|
1441
|
-
};
|
|
1442
|
-
}
|
|
1443
|
-
const districtName = this.selectedDistrict?.name ?? this.districtName?.trim() ?? "";
|
|
1444
|
-
return helpers.buildAddressLocationPayloadFromSelection({
|
|
1445
|
-
countryId: this.selectedCountry?.id ?? 0,
|
|
1446
|
-
countryCode: this.selectedCountry?.code,
|
|
1447
|
-
regionId: this.selectedRegion?.id,
|
|
1448
|
-
cityId: this.selectedCity?.id,
|
|
1449
|
-
districtId: this.selectedDistrict?.id,
|
|
1450
|
-
description: districtName,
|
|
1451
|
-
lat: this.mapLocationData?.lat,
|
|
1452
|
-
lng: this.mapLocationData?.lng,
|
|
1453
|
-
shortAddress: this.mapLocationData?.shortAddress,
|
|
1454
|
-
});
|
|
1455
|
-
}
|
|
1456
1434
|
async handleTabChange(tab) {
|
|
1457
1435
|
if (this.tabChanging)
|
|
1458
1436
|
return;
|
|
@@ -1614,7 +1592,7 @@ const SallaBulletDelivery = class {
|
|
|
1614
1592
|
* when already open AND already correctly reflecting the logged-in state, so a duplicate
|
|
1615
1593
|
* auth::logged.in firing can't reset in-progress form input or cause a visible re-render flicker.
|
|
1616
1594
|
*/
|
|
1617
|
-
handlePendingSubmitAfterLogin() {
|
|
1595
|
+
async handlePendingSubmitAfterLogin() {
|
|
1618
1596
|
// auth::logged.in can fire prematurely (e.g. a silent cross-store login attempt,
|
|
1619
1597
|
// packages/twilight/src/api/cart.js's tryCrossStoreLogin, whose profile sync can complete
|
|
1620
1598
|
// without actually flipping the session to logged-in) while Salla.config still reports a
|
|
@@ -1628,6 +1606,10 @@ const SallaBulletDelivery = class {
|
|
|
1628
1606
|
this.resolvePendingCartSubmit();
|
|
1629
1607
|
return;
|
|
1630
1608
|
}
|
|
1609
|
+
// handleConfirm()'s own close() resolves the pending cart-submit gate, so
|
|
1610
|
+
// just return on success rather than resolving it a second time here.
|
|
1611
|
+
if (await this.tryAutoConfirmAfterLogin())
|
|
1612
|
+
return;
|
|
1631
1613
|
if (!this.modal?.hasAttribute?.("visible") || !this.isLoggedIn) {
|
|
1632
1614
|
this.open();
|
|
1633
1615
|
}
|
|
@@ -1635,7 +1617,7 @@ const SallaBulletDelivery = class {
|
|
|
1635
1617
|
buildIntentAddress() {
|
|
1636
1618
|
if (this.activeTab !== "address")
|
|
1637
1619
|
return undefined;
|
|
1638
|
-
if (this.
|
|
1620
|
+
if (this.isMapPick && this.mapLocationData) {
|
|
1639
1621
|
const { lat, lng, formattedAddress, shortAddress } = this.mapLocationData;
|
|
1640
1622
|
return {
|
|
1641
1623
|
country: this.selectedCountry
|
|
@@ -2026,6 +2008,20 @@ const SallaBulletDelivery = class {
|
|
|
2026
2008
|
? String(allocationBranchId)
|
|
2027
2009
|
: undefined,
|
|
2028
2010
|
});
|
|
2011
|
+
// Applying the allocated scope to this session must succeed before treating the
|
|
2012
|
+
// confirmation as done — allocateScope() only creates the allocation server-side;
|
|
2013
|
+
// setDeliveryScope() is what makes *this* session use it. Ignoring its result let
|
|
2014
|
+
// checkout proceed (and scope_allocated get persisted) even when it failed.
|
|
2015
|
+
if (allocatedScopeId) {
|
|
2016
|
+
const scopeApplied = await helpers.bulletDeliveryAPI.setDeliveryScope(allocatedScopeId);
|
|
2017
|
+
if (!scopeApplied) {
|
|
2018
|
+
this.allocationOutOfCoverageMessage = `${Salla.lang.get("common.errors.error_occurred")}.`;
|
|
2019
|
+
this.confirmBtn?.stop();
|
|
2020
|
+
this.confirming = false;
|
|
2021
|
+
return;
|
|
2022
|
+
}
|
|
2023
|
+
helpers.clearApiCache();
|
|
2024
|
+
}
|
|
2029
2025
|
// Store headers in result object for persistence after page reload
|
|
2030
2026
|
result.allocation_headers = {
|
|
2031
2027
|
"s-scope-allocation-type": allocationType,
|
|
@@ -2038,11 +2034,7 @@ const SallaBulletDelivery = class {
|
|
|
2038
2034
|
this.markShownThisSession();
|
|
2039
2035
|
// After allocation success: persist latest intent so switch UI can always reflect
|
|
2040
2036
|
// the selected address/branch once confirmed.
|
|
2041
|
-
this.setStoredIntent(result);
|
|
2042
|
-
if (allocatedScopeId) {
|
|
2043
|
-
await helpers.bulletDeliveryAPI.setDeliveryScope(allocatedScopeId);
|
|
2044
|
-
helpers.clearApiCache();
|
|
2045
|
-
}
|
|
2037
|
+
this.setStoredIntent({ ...result, scope_allocated: true });
|
|
2046
2038
|
const allocationConfirmedPayload = {
|
|
2047
2039
|
...result,
|
|
2048
2040
|
address: this.buildAllocationConfirmedAddressData(selectedAddress),
|
|
@@ -2240,8 +2232,10 @@ const SallaBulletDelivery = class {
|
|
|
2240
2232
|
const { success, address } = await helpers.bulletDeliveryAPI.saveAddressLocation(payload);
|
|
2241
2233
|
if (!success || !address)
|
|
2242
2234
|
return null;
|
|
2243
|
-
// Persist address_id immediately to avoid duplicate creation on retry
|
|
2244
|
-
|
|
2235
|
+
// Persist address_id immediately to avoid duplicate creation on retry — but keep
|
|
2236
|
+
// scope_allocated false: the address is saved, not yet allocated, so a later
|
|
2237
|
+
// allocation failure must not make hasCompleteIntentForLoggedInUser() think it is.
|
|
2238
|
+
this.setStoredIntent({ ...intent, address_id: address.id, scope_allocated: false });
|
|
2245
2239
|
this.addressCreated.emit({ address });
|
|
2246
2240
|
return address;
|
|
2247
2241
|
}
|
|
@@ -2276,6 +2270,10 @@ const SallaBulletDelivery = class {
|
|
|
2276
2270
|
return null;
|
|
2277
2271
|
const savedAddress = address ?? null;
|
|
2278
2272
|
if (savedAddress) {
|
|
2273
|
+
// Persist address_id immediately to avoid duplicate creation on retry — but keep
|
|
2274
|
+
// scope_allocated false: the address is saved, not yet allocated, so a later
|
|
2275
|
+
// allocation failure must not make hasCompleteIntentForLoggedInUser() think it is.
|
|
2276
|
+
this.setStoredIntent({ ...intent, address_id: savedAddress.id, scope_allocated: false });
|
|
2279
2277
|
this.addressCreated.emit({ address: savedAddress });
|
|
2280
2278
|
}
|
|
2281
2279
|
return savedAddress;
|
|
@@ -2364,14 +2362,14 @@ const SallaBulletDelivery = class {
|
|
|
2364
2362
|
}
|
|
2365
2363
|
renderAddressConfirmation() {
|
|
2366
2364
|
const address = this.mapLocationData?.formattedAddress ?? '';
|
|
2367
|
-
|
|
2368
|
-
return (index.h("div", { class: "s-bullet-delivery-address-confirm" }, index.h("div", { class: "s-bullet-delivery-address-confirm-card" }, index.h("div", { class: "s-bullet-delivery-address-confirm-details" }, index.h("span", { class: "s-bullet-delivery-address-confirm-label" }, Salla.lang.get('pages.checkout.selected_address')), index.h("p", { class: "s-bullet-delivery-address-confirm-text" }, address), shortCode && (index.h("span", { class: "s-bullet-delivery-address-confirm-tag" }, shortCode, index.h("span", { class: "s-bullet-delivery-address-confirm-tag-icon", innerHTML: LocationTag })))), index.h("button", { type: "button", class: "s-bullet-delivery-address-confirm-edit", onClick: () => { this.mapStep = 'map'; } }, Salla.lang.get('common.elements.edit'))), index.h("div", { class: "s-bullet-delivery-address-confirm-description" }, index.h("label", { class: "s-bullet-delivery-address-confirm-description-label" }, Salla.lang.get('pages.checkout.address_description'), index.h("span", { class: "s-bullet-delivery-address-confirm-description-optional" }, Salla.lang.get('common.elements.optional'))), index.h("input", { type: "text", class: "s-bullet-delivery-address-confirm-description-input form-input", placeholder: Salla.lang.get('pages.checkout.address_description_placeholder'), value: this.addressDescription, onInput: (e) => { this.addressDescription = e.target.value; } }))));
|
|
2365
|
+
return (index.h("div", { class: "s-bullet-delivery-address-confirm" }, index.h("div", { class: "s-bullet-delivery-address-confirm-card" }, index.h("span", { class: "s-bullet-delivery-address-map-icon", innerHTML: MiniMap, "aria-hidden": "true" }), index.h("div", { class: "s-bullet-delivery-address-confirm-details" }, index.h("span", { class: "s-bullet-delivery-address-confirm-label" }, Salla.lang.get('pages.checkout.selected_address')), index.h("p", { class: "s-bullet-delivery-address-confirm-text" }, address))), index.h("div", { class: "s-bullet-delivery-address-confirm-description" }, index.h("label", { class: "s-bullet-delivery-address-confirm-description-label" }, Salla.lang.get('pages.checkout.address_description'), index.h("span", { class: "s-bullet-delivery-address-confirm-description-optional" }, Salla.lang.get('common.elements.optional'))), index.h("input", { type: "text", class: "s-bullet-delivery-address-confirm-description-input form-input", placeholder: Salla.lang.get('pages.checkout.address_description_placeholder'), value: this.addressDescription, onInput: (e) => { this.addressDescription = e.target.value; } }))));
|
|
2369
2366
|
}
|
|
2370
2367
|
renderGuestDeliveryForm() {
|
|
2371
2368
|
if (this.isMapModeAvailable) {
|
|
2372
|
-
return
|
|
2373
|
-
|
|
2374
|
-
|
|
2369
|
+
return [
|
|
2370
|
+
this.renderMapSection(),
|
|
2371
|
+
this.hasMapLocation() ? this.renderAddressConfirmation() : null,
|
|
2372
|
+
];
|
|
2375
2373
|
}
|
|
2376
2374
|
const isSA = helpers.isSaudiArabia(this.selectedCountry?.code ?? '');
|
|
2377
2375
|
return [
|
|
@@ -2393,23 +2391,15 @@ const SallaBulletDelivery = class {
|
|
|
2393
2391
|
if (!this.isMapModeAvailable) {
|
|
2394
2392
|
return this.renderGuestDeliveryForm();
|
|
2395
2393
|
}
|
|
2396
|
-
const
|
|
2397
|
-
const
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
? (this.confirming
|
|
2401
|
-
? Salla.lang.get("pages.checkout.loading")
|
|
2402
|
-
: Salla.lang.get("pages.checkout.confirm_address"))
|
|
2403
|
-
: Salla.lang.get('pages.checkout.confirm_location');
|
|
2394
|
+
const canSubmit = this.canConfirmMapLocation();
|
|
2395
|
+
const submitLabel = this.confirming
|
|
2396
|
+
? Salla.lang.get("pages.checkout.loading")
|
|
2397
|
+
: Salla.lang.get("pages.checkout.confirm_address");
|
|
2404
2398
|
const handleSubmit = (e) => {
|
|
2405
2399
|
e.preventDefault();
|
|
2406
|
-
if (!isConfirmStep && canAdvanceToConfirm) {
|
|
2407
|
-
this.mapStep = 'confirm';
|
|
2408
|
-
return;
|
|
2409
|
-
}
|
|
2410
2400
|
this.handleConfirm();
|
|
2411
2401
|
};
|
|
2412
|
-
return (index.h("form", { onSubmit: handleSubmit }, this.renderGuestDeliveryForm(), index.h("div", { class: "s-bullet-delivery-form-actions s-bullet-delivery-form-actions--single", style: { padding: '24px' } }, index.h("salla-button", { type: "submit", loading: this.confirming, disabled:
|
|
2402
|
+
return (index.h("form", { onSubmit: handleSubmit }, this.renderGuestDeliveryForm(), index.h("div", { class: "s-bullet-delivery-form-actions s-bullet-delivery-form-actions--single", style: { padding: '24px' } }, index.h("salla-button", { type: "submit", loading: this.confirming, disabled: !canSubmit || this.confirming, width: "wide" }, submitLabel), !this.isLoggedIn && (index.h("button", { type: "button", class: "s-bullet-delivery-login-prompt", onClick: () => this.handleLogin() }, Salla.lang.get('pages.checkout.login_to_use_saved_addresses'))))));
|
|
2413
2403
|
}
|
|
2414
2404
|
renderBranchSearch() {
|
|
2415
2405
|
return (index.h("div", { class: "s-bullet-delivery-branch-search" }, index.h("div", { class: "s-bullet-delivery-search-row" }, index.h("div", { class: "s-bullet-delivery-search s-bullet-delivery-branch-search-wrap" }, index.h("span", { class: "s-bullet-delivery-search-icon s-bullet-delivery-branch-search-icon", innerHTML: search.Search, "aria-hidden": "true" }), index.h("input", { type: "text", class: "s-bullet-delivery-branch-search-input form-input", placeholder: Salla.lang.get("pages.checkout.search_for_city_or_branch"), value: this.branchSearchQuery, onInput: (e) => this.handleBranchSearch(e), autocomplete: "off" })), index.h("button", { type: "button", class: {
|
|
@@ -2473,25 +2463,18 @@ const SallaBulletDelivery = class {
|
|
|
2473
2463
|
"s-hidden": this.activeTab !== "branch",
|
|
2474
2464
|
} }, this.renderCountrySelect(), this.renderBranchSearch(), this.renderBranchList()));
|
|
2475
2465
|
}
|
|
2476
|
-
/** Add-address form: map
|
|
2466
|
+
/** Add-address form: map + confirm card in one screen, or dropdown fallback. */
|
|
2477
2467
|
renderAddAddressForm() {
|
|
2478
|
-
Salla.lang.get("pages.checkout.add_new_address");
|
|
2479
2468
|
const mapMode = this.isMapModeAvailable;
|
|
2480
2469
|
const isSA = helpers.isSaudiArabia(this.selectedCountry?.code ?? '');
|
|
2481
2470
|
const hasMapLoc = this.hasMapLocation();
|
|
2482
2471
|
let canSubmit;
|
|
2483
2472
|
let submitLabel;
|
|
2484
2473
|
if (mapMode) {
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
else {
|
|
2490
|
-
canSubmit = hasMapLoc;
|
|
2491
|
-
submitLabel = this.savingAddress
|
|
2492
|
-
? Salla.lang.get("pages.checkout.loading")
|
|
2493
|
-
: Salla.lang.get("pages.checkout.confirm_address");
|
|
2494
|
-
}
|
|
2474
|
+
canSubmit = this.canConfirmMapLocation();
|
|
2475
|
+
submitLabel = this.confirming
|
|
2476
|
+
? Salla.lang.get("pages.checkout.loading")
|
|
2477
|
+
: Salla.lang.get("pages.checkout.confirm_address");
|
|
2495
2478
|
}
|
|
2496
2479
|
else {
|
|
2497
2480
|
const canSubmitDropdowns = this.selectedCountry &&
|
|
@@ -2501,20 +2484,16 @@ const SallaBulletDelivery = class {
|
|
|
2501
2484
|
!!this.selectedDistrict ||
|
|
2502
2485
|
!!(this.districtName && this.districtName.trim().length > 0));
|
|
2503
2486
|
canSubmit = hasMapLoc || canSubmitDropdowns;
|
|
2504
|
-
submitLabel = this.
|
|
2487
|
+
submitLabel = this.confirming
|
|
2505
2488
|
? Salla.lang.get("pages.checkout.loading")
|
|
2506
2489
|
: Salla.lang.get("pages.checkout.confirm_address");
|
|
2507
2490
|
}
|
|
2508
|
-
this.savedAddresses.length > 0 || helpers.hasSessionAddressIntent(this.getStoredIntent());
|
|
2509
2491
|
const handleFormSubmit = (e) => {
|
|
2510
2492
|
e.preventDefault();
|
|
2511
|
-
|
|
2512
|
-
this.mapStep = 'confirm';
|
|
2513
|
-
return;
|
|
2514
|
-
}
|
|
2515
|
-
this.handleSubmitAddAddress(e);
|
|
2493
|
+
this.handleSubmitNewAddress(e);
|
|
2516
2494
|
};
|
|
2517
|
-
return (index.h("div", { class: "s-bullet-delivery-add-address" },
|
|
2495
|
+
return (index.h("div", { class: "s-bullet-delivery-add-address" }, this.allocationOutOfCoverageMessage &&
|
|
2496
|
+
this.renderAllocationOutOfCoverageAlert(), index.h("form", { class: "s-bullet-delivery-add-address-form", onSubmit: handleFormSubmit }, this.renderGuestDeliveryForm(), index.h("div", { class: "s-bullet-delivery-form-actions s-bullet-delivery-form-actions--single" }, index.h("salla-button", { type: "submit", loading: this.confirming, disabled: !canSubmit || this.confirming, class: "s-bullet-delivery-add-address-submit" }, submitLabel), this.hasAddressesToGoBack() && (index.h("salla-button", { shape: "link", class: "s-bullet-delivery-back-to-list-link", onClick: () => this.handleBackToAddressList() }, Salla.lang.getWithDefault('pages.checkout.saved_addresses', 'العناوين المحفوظة'), index.h("i", { class: "sicon-arrow-left" })))))));
|
|
2518
2497
|
}
|
|
2519
2498
|
renderFooter() {
|
|
2520
2499
|
if (this.activeTab === "address" && !this.isLoggedIn && this.isMapModeAvailable) {
|
|
@@ -2599,15 +2578,26 @@ const SallaBulletDelivery = class {
|
|
|
2599
2578
|
if (!this.isEnabled)
|
|
2600
2579
|
return;
|
|
2601
2580
|
if (this.pendingCartSubmitPromise) {
|
|
2602
|
-
// A prior attempt is still pending
|
|
2603
|
-
//
|
|
2604
|
-
if (this.isGuestUser()) {
|
|
2605
|
-
this.
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
this.
|
|
2581
|
+
// A prior attempt is still pending. For a logged-in user, re-prompt instead of
|
|
2582
|
+
// silently awaiting with nothing visible.
|
|
2583
|
+
if (!this.isGuestUser()) {
|
|
2584
|
+
if (!this.modal?.hasAttribute?.("visible")) {
|
|
2585
|
+
this.open();
|
|
2586
|
+
}
|
|
2587
|
+
await this.pendingCartSubmitPromise;
|
|
2588
|
+
return;
|
|
2609
2589
|
}
|
|
2610
|
-
|
|
2590
|
+
// Guest: login was already shown once for this attempt — reopening it here (the
|
|
2591
|
+
// old behavior) fought whatever the guest just chose (e.g. "Continue as Guest")
|
|
2592
|
+
// and froze the page. Reset the gate so the *next* checkout click starts a clean
|
|
2593
|
+
// cycle (reopening login again, repeating until the guest actually logs in and
|
|
2594
|
+
// allocates) — but never resolve *this* invocation: returning here would resolve
|
|
2595
|
+
// salla.cart.event.submitting() (built on emitAsync, which awaits every listener),
|
|
2596
|
+
// letting cart.js's status() continue straight through to the checkout redirect.
|
|
2597
|
+
this.pendingCartSubmitResolver = null;
|
|
2598
|
+
this.pendingCartSubmitPromise = null;
|
|
2599
|
+
this.cartSubmitConfirmationPending = false;
|
|
2600
|
+
await new Promise(() => { });
|
|
2611
2601
|
return;
|
|
2612
2602
|
}
|
|
2613
2603
|
// Logged-in users with a complete intent can continue checkout without re-prompting.
|
|
@@ -2638,14 +2628,16 @@ const SallaBulletDelivery = class {
|
|
|
2638
2628
|
this.closeHandler = this.close.bind(this);
|
|
2639
2629
|
Salla.event.on("salla::bullet-delivery.modal.close.requested", this.closeHandler);
|
|
2640
2630
|
this.isRTL = Salla.config.get("theme.is_rtl");
|
|
2641
|
-
this.authLoggedInHandler = () => {
|
|
2631
|
+
this.authLoggedInHandler = async () => {
|
|
2642
2632
|
if (this.cartSubmitConfirmationPending) {
|
|
2643
|
-
this.handlePendingSubmitAfterLogin();
|
|
2633
|
+
await this.handlePendingSubmitAfterLogin();
|
|
2644
2634
|
return;
|
|
2645
2635
|
}
|
|
2646
2636
|
// Always prompt after login when intent is incomplete, regardless of prior prompted flags.
|
|
2647
2637
|
if (!this.hasIncompleteUserAddressIntent())
|
|
2648
2638
|
return;
|
|
2639
|
+
if (await this.tryAutoConfirmAfterLogin())
|
|
2640
|
+
return;
|
|
2649
2641
|
if (this.modal?.hasAttribute?.("visible"))
|
|
2650
2642
|
return;
|
|
2651
2643
|
this.open();
|
|
@@ -3064,18 +3056,18 @@ const SallaSearchableDropdown = class {
|
|
|
3064
3056
|
render() {
|
|
3065
3057
|
const hasSelection = this.selectedItem != null;
|
|
3066
3058
|
const listboxId = `${this.inputId}-listbox`;
|
|
3067
|
-
return (index.h(index.Host, { key: '
|
|
3059
|
+
return (index.h(index.Host, { key: '55e97edfcdfa3e48bc846f56c1edd5da6505eee5', class: "s-searchable-dropdown" }, index.h("div", { key: '030c39a1894841330c68935955d00f9a3b7cccf7', class: { 's-searchable-dropdown': true, 's-searchable-dropdown--open': this.isOpen } }, this.label && (index.h("label", { key: '9f8af8e5d7436f1f0eccf697c7f57eeb0561bf46', class: "s-searchable-dropdown-label", htmlFor: this.inputId }, this.label, this.required && index.h("span", { key: '3af173bbd1c5ebd149b9c267ce5fe783580ffd42', class: "s-searchable-dropdown-required" }, " *"))), index.h("div", { key: '50e3fae530c18a87983a008ac46118e43c4847bc', class: {
|
|
3068
3060
|
's-searchable-dropdown-trigger': true,
|
|
3069
3061
|
's-searchable-dropdown-trigger--disabled': this.disabled || this.loading,
|
|
3070
3062
|
's-searchable-dropdown-trigger--open': this.isOpen,
|
|
3071
|
-
}, 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: '
|
|
3063
|
+
}, 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: 'e6c3b6ee296810cdf554cdca5a7bf7a86b373f1c', class: {
|
|
3072
3064
|
'sicon-keyboard_arrow_down': true,
|
|
3073
3065
|
's-searchable-dropdown-trigger-icon': true,
|
|
3074
3066
|
's-searchable-dropdown-trigger-icon--open': this.isOpen,
|
|
3075
|
-
}, "aria-hidden": "true" })), this.isOpen && (index.h("div", { key: '
|
|
3067
|
+
}, "aria-hidden": "true" })), this.isOpen && (index.h("div", { key: '615cf48076e86b6be2a8fa6eba2de7dbcfe8518c', class: {
|
|
3076
3068
|
's-searchable-dropdown-panel': true,
|
|
3077
3069
|
's-searchable-dropdown-panel--up': this.dropUp,
|
|
3078
|
-
}, ref: (el) => (this.panelRef = el) }, this.searchable && (index.h("div", { key: '
|
|
3070
|
+
}, ref: (el) => (this.panelRef = el) }, this.searchable && (index.h("div", { key: '14012e1869604b362d31710776d2278f23242690', class: "s-searchable-dropdown-search-wrap" }, index.h("i", { key: '26de269b2cbcfbb38f675b45b0bea1ba3dccaa9b', class: "sicon-search s-searchable-dropdown-search-icon", "aria-hidden": "true" }), index.h("input", { key: '5102ff64028965aa0357fc132a7dcdda48c9779b', 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: '9645e12894cfa5a6783876de18472a9ca004f602', id: listboxId, class: "s-searchable-dropdown-list s-scrollbar", role: "listbox" }, this.renderListContent()))))));
|
|
3079
3071
|
}
|
|
3080
3072
|
renderListContent() {
|
|
3081
3073
|
if (this.searching || this.loading) {
|