@salla.sa/twilight-components 2.14.575 → 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-NMq4bM2q.js → filepond-iflxa4A5.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-TEelNjjG.js → filepond-plugin-file-poster-NZ84xlKh.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-DRVxzFUc.js → filepond-plugin-file-validate-size-m8Z_JlZX.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-75J1mHEB.js → filepond-plugin-file-validate-type-BfF6LYAT.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-CvC-CZjk.js → filepond-plugin-image-edit-DfRJ3iRj.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-D7mJeHKx.js → filepond-plugin-image-exif-orientation-BZxYZai-.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-QxURSuZ4.js → filepond-plugin-image-preview-BQ7HvH2d.js} +1 -1
- package/dist/cjs/{helpers-Dm4BirHO.js → helpers-DBynEhOO.js} +0 -15
- package/dist/cjs/{index-Bt8A6pnr.js → index-CSe-ijAV.js} +2 -2
- package/dist/cjs/{intlTelInput-Dq8y3YHO.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 +18 -2
- 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 +38 -13
- 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-BkJyQVMl.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/salla-offer.js +17 -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-orders/salla-orders.js +39 -12
- 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-offer.js +17 -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-orders.js +39 -12
- 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-kmpJTY5p.js → filepond-Qm94dFPs.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-8M0TsTUo.js → filepond-plugin-file-poster-CHpnwHYe.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-CPVDzrMj.js → filepond-plugin-file-validate-size-BwHBxxMg.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-D0qUdWNB.js → filepond-plugin-file-validate-type-BD-yTEPO.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-K8nFORG9.js → filepond-plugin-image-edit-DKc0Yw10.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-BSvnwKAw.js → filepond-plugin-image-exif-orientation-CepmNFGF.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-hArDoD8N.js → filepond-plugin-image-preview-FhnzagMd.js} +1 -1
- package/dist/esm/{helpers-CV6uPJEJ.js → helpers-BJxBnTgv.js} +1 -15
- package/dist/esm/{index-a6lSRQK4.js → index-BAXTlrSC.js} +2 -2
- package/dist/esm/{intlTelInput-CC5xRRkd.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 +18 -2
- 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 +38 -13
- 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-CDhGfTst.js → vanilla-picker-C_cY41gl.js} +1 -1
- package/dist/twilight/{p-cc15290b.entry.js → p-00a727c3.entry.js} +1 -1
- package/dist/twilight/{p-fc13e706.entry.js → p-0227316e.entry.js} +1 -1
- package/dist/twilight/{p-aee0c658.entry.js → p-03c959bb.entry.js} +1 -1
- package/dist/twilight/{p-a177b13f.entry.js → p-072ee78f.entry.js} +1 -1
- package/dist/twilight/{p-f2f6f502.entry.js → p-073e1363.entry.js} +1 -1
- package/dist/twilight/{p-4a60be6d.entry.js → p-0806da7e.entry.js} +1 -1
- package/dist/twilight/{p-5134aae8.entry.js → p-08cedab0.entry.js} +1 -1
- package/dist/twilight/{p-69594ced.entry.js → p-0bcca7f8.entry.js} +1 -1
- package/dist/twilight/{p-9b04ed7f.entry.js → p-10a68a21.entry.js} +1 -1
- package/dist/twilight/{p-00e68964.entry.js → p-13abf9ca.entry.js} +1 -1
- package/dist/twilight/{p-742f2c15.entry.js → p-13c35685.entry.js} +1 -1
- package/dist/twilight/{p-540138a1.entry.js → p-162fa48e.entry.js} +1 -1
- package/dist/twilight/{p-e0b5a06d.entry.js → p-1762fd86.entry.js} +1 -1
- package/dist/twilight/{p-2af75479.entry.js → p-18c41e9a.entry.js} +1 -1
- package/dist/twilight/{p-d6803c56.entry.js → p-1fbb0b22.entry.js} +1 -1
- package/dist/twilight/{p-109472c5.entry.js → p-1fd6a10e.entry.js} +1 -1
- package/dist/twilight/p-28cdaf6b.entry.js +4 -0
- package/dist/twilight/{p-ebd9a6c2.entry.js → p-292a0b4a.entry.js} +1 -1
- package/dist/twilight/{p-d0fce326.entry.js → p-2ba4956f.entry.js} +1 -1
- package/dist/twilight/{p-6f371a84.entry.js → p-2c543420.entry.js} +1 -1
- package/dist/twilight/{p-b7624eb6.entry.js → p-2e3a56de.entry.js} +1 -1
- package/dist/twilight/p-2e4064eb.entry.js +4 -0
- package/dist/twilight/{p-d56cb23a.entry.js → p-3153f560.entry.js} +1 -1
- package/dist/twilight/{p-977e3e76.entry.js → p-3a3815a2.entry.js} +1 -1
- package/dist/twilight/{p-0a38d353.entry.js → p-3cef6be2.entry.js} +1 -1
- package/dist/twilight/{p-3500065c.entry.js → p-3dd612a6.entry.js} +1 -1
- package/dist/twilight/{p-312e8678.entry.js → p-411c1ab0.entry.js} +1 -1
- package/dist/twilight/p-423d852d.entry.js +4 -0
- package/dist/twilight/{p-c500e5fe.entry.js → p-44a6598e.entry.js} +1 -1
- package/dist/twilight/{p-7f69cf5d.entry.js → p-51d83216.entry.js} +1 -1
- package/dist/twilight/{p-6a7eacbd.entry.js → p-51fb8841.entry.js} +1 -1
- package/dist/twilight/{p-2541db96.entry.js → p-56609a91.entry.js} +1 -1
- package/dist/twilight/{p-2591eead.entry.js → p-58c1bf51.entry.js} +1 -1
- package/dist/twilight/{p-6051a92c.entry.js → p-59a7ca2e.entry.js} +1 -1
- package/dist/twilight/{p-426acd77.entry.js → p-5a77257c.entry.js} +1 -1
- package/dist/twilight/{p-9e53d7a6.entry.js → p-5c4e2ed3.entry.js} +1 -1
- package/dist/twilight/{p-a0d39b81.entry.js → p-5f464161.entry.js} +1 -1
- package/dist/twilight/{p-d1a0bd97.entry.js → p-637670fa.entry.js} +1 -1
- package/dist/twilight/{p-81c88f97.entry.js → p-6605f258.entry.js} +1 -1
- package/dist/twilight/{p-3bd153c1.entry.js → p-665bc308.entry.js} +1 -1
- package/dist/twilight/{p-7cc8b82b.entry.js → p-6bfe12d5.entry.js} +1 -1
- package/dist/twilight/{p-cbcbc9f8.entry.js → p-6de608eb.entry.js} +1 -1
- package/dist/twilight/{p-e9d73e7d.entry.js → p-6f9bc285.entry.js} +1 -1
- package/dist/twilight/{p-6958e848.entry.js → p-70451662.entry.js} +1 -1
- package/dist/twilight/{p-45b97699.entry.js → p-7b0cf8a1.entry.js} +1 -1
- package/dist/twilight/{p-6f741b21.entry.js → p-7d08dcfb.entry.js} +1 -1
- package/dist/twilight/{p-01cae03e.entry.js → p-7d37b650.entry.js} +1 -1
- package/dist/twilight/{p-254e6e0c.entry.js → p-7f3e110c.entry.js} +1 -1
- package/dist/twilight/{p-5fe0908b.entry.js → p-80302c52.entry.js} +1 -1
- package/dist/twilight/{p-583a63e5.entry.js → p-806083b4.entry.js} +1 -1
- package/dist/twilight/{p-50816838.entry.js → p-84cff600.entry.js} +1 -1
- package/dist/twilight/{p-c9779211.entry.js → p-884104a3.entry.js} +1 -1
- package/dist/twilight/{p-34d33337.entry.js → p-898ce93b.entry.js} +1 -1
- package/dist/twilight/{p-dc86737c.entry.js → p-8a865d37.entry.js} +1 -1
- package/dist/twilight/{p-bc54fc8b.entry.js → p-8c750736.entry.js} +1 -1
- package/dist/twilight/{p-7f861ac0.entry.js → p-8fc2eb01.entry.js} +1 -1
- package/dist/twilight/{p-2af98444.entry.js → p-97fee81d.entry.js} +1 -1
- package/dist/twilight/{p-c9ba30cd.entry.js → p-9920bbad.entry.js} +1 -1
- package/dist/twilight/{p-24bd13b8.entry.js → p-99b9bf66.entry.js} +1 -1
- package/dist/twilight/{p-b0c86557.entry.js → p-9b4a0dd3.entry.js} +1 -1
- package/dist/twilight/{p-0f1981ee.entry.js → p-9e054110.entry.js} +1 -1
- package/dist/twilight/{p-a6lSRQK4.js → p-BAXTlrSC.js} +1 -1
- package/dist/twilight/p-BJxBnTgv.js +4 -0
- package/dist/twilight/{p-BokV7EHy.js → p-BWpg3MwW.js} +1 -1
- package/dist/twilight/{p-DNjWzZsK.js → p-C6WaobtY.js} +1 -1
- package/dist/twilight/{p-wx2L9ZB0.js → p-CvebbG3m.js} +1 -1
- package/dist/twilight/{p-CSuif4Xw.js → p-D5lNzFgl.js} +1 -1
- package/dist/twilight/{p-CfhebjBE.js → p-DGzNHmGp.js} +1 -1
- package/dist/twilight/{p-BG1dHHdm.js → p-DnrvXyI6.js} +1 -1
- package/dist/twilight/{p-DOF2UkI4.js → p-DpI1J-G1.js} +1 -1
- package/dist/twilight/{p-DWPp9ZjN.js → p-SguJQlDo.js} +1 -1
- package/dist/twilight/{p-DZHubgN5.js → p-_f6GlygH.js} +1 -1
- package/dist/twilight/{p-5d72b7d7.entry.js → p-a2d07dba.entry.js} +1 -1
- package/dist/twilight/{p-8271e127.entry.js → p-a73a785d.entry.js} +1 -1
- package/dist/twilight/{p-e155a1a6.entry.js → p-a79c04a2.entry.js} +1 -1
- package/dist/twilight/{p-3a113599.entry.js → p-a9fcdac5.entry.js} +1 -1
- package/dist/twilight/{p-f1a3cf9e.entry.js → p-ab3ad37f.entry.js} +1 -1
- package/dist/twilight/{p-10968d1c.entry.js → p-abc3e5d5.entry.js} +1 -1
- package/dist/twilight/{p-0f9bfeeb.entry.js → p-b356f3f6.entry.js} +1 -1
- package/dist/twilight/{p-2bf8f0ed.entry.js → p-b55fb51b.entry.js} +1 -1
- package/dist/twilight/{p-28875055.entry.js → p-bb35af04.entry.js} +1 -1
- package/dist/twilight/{p-3ff2b8b6.entry.js → p-bf845ea7.entry.js} +1 -1
- package/dist/twilight/{p-5b1a0560.entry.js → p-c2e871ae.entry.js} +1 -1
- package/dist/twilight/{p-004584f5.entry.js → p-c38fb150.entry.js} +1 -1
- package/dist/twilight/{p-7b373051.entry.js → p-c63ff8ef.entry.js} +1 -1
- package/dist/twilight/{p-63a315e1.entry.js → p-c90600b1.entry.js} +1 -1
- package/dist/twilight/{p-2c480419.entry.js → p-cc1b3318.entry.js} +1 -1
- package/dist/twilight/{p-44b8d453.entry.js → p-ce1d3ad9.entry.js} +1 -1
- package/dist/twilight/{p-ea1c06ab.entry.js → p-ce80fb8f.entry.js} +1 -1
- package/dist/twilight/{p-d7e5b860.entry.js → p-d3556d1f.entry.js} +1 -1
- package/dist/twilight/{p-ef037207.entry.js → p-d3cf9f8a.entry.js} +1 -1
- package/dist/twilight/{p-af99726d.entry.js → p-dd18ac5c.entry.js} +1 -1
- package/dist/twilight/p-dda4d231.entry.js +4 -0
- package/dist/twilight/{p-86ad5af2.entry.js → p-e0d834a7.entry.js} +1 -1
- package/dist/twilight/{p-71ecb477.entry.js → p-e4ff7a77.entry.js} +1 -1
- package/dist/twilight/{p-5ddd9aa0.entry.js → p-e66856c5.entry.js} +1 -1
- package/dist/twilight/{p-a47b910f.entry.js → p-e7c4d4cc.entry.js} +1 -1
- package/dist/twilight/{p-12ab7c1a.entry.js → p-e944f02a.entry.js} +1 -1
- package/dist/twilight/{p-21e6b2e7.entry.js → p-e95fd91e.entry.js} +1 -1
- package/dist/twilight/{p-55e0745e.entry.js → p-ea7846fd.entry.js} +1 -1
- package/dist/twilight/p-f0ca37fc.entry.js +4 -0
- package/dist/twilight/{p-96cac80e.entry.js → p-f2e13d28.entry.js} +1 -1
- package/dist/twilight/p-f514b9f5.entry.js +4 -0
- package/dist/twilight/p-fa6f2b27.entry.js +4 -0
- package/dist/twilight/{p-84599aa5.entry.js → p-faadae59.entry.js} +1 -1
- package/dist/twilight/{p-4bf58226.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/salla-offer/salla-offer.d.ts +10 -0
- package/dist/types/components/salla-orders/interface.d.ts +2 -0
- package/dist/types/components/salla-orders/salla-orders.d.ts +5 -1
- package/dist/types/components.d.ts +2 -2
- package/package.json +5 -5
- package/dist/twilight/p-127f0000.entry.js +0 -4
- package/dist/twilight/p-25a4633f.entry.js +0 -4
- package/dist/twilight/p-3357d33a.entry.js +0 -4
- package/dist/twilight/p-338f727b.entry.js +0 -4
- package/dist/twilight/p-7a19ef45.entry.js +0 -4
- package/dist/twilight/p-8d30dbac.entry.js +0 -4
- package/dist/twilight/p-CV6uPJEJ.js +0 -4
- package/dist/twilight/p-a391b31d.entry.js +0 -4
- package/dist/twilight/p-eb11b8be.entry.js +0 -4
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-
|
|
5
|
-
import { a as isSaudiArabia, b as bulletDeliveryAPI, r as requireRegionAndDistrictForSA, g as getIntentLatitude, c as getIntentLongitude, h as hasSessionAddressIntent, d as getIntentCityId, e as getIntentCountryId, f as getIntentRegionId, j as getIntentDistrictId, k as filterBranches, l as findNearestBranch, m as getGeolocationErrorMessage, n as
|
|
4
|
+
import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-BAXTlrSC.js';
|
|
5
|
+
import { a as isSaudiArabia, b as bulletDeliveryAPI, r as requireRegionAndDistrictForSA, g as getIntentLatitude, c as getIntentLongitude, h as hasSessionAddressIntent, d as getIntentCityId, e as getIntentCountryId, f as getIntentRegionId, j as getIntentDistrictId, k as filterBranches, l as findNearestBranch, m as getGeolocationErrorMessage, n as clearApiCache, o as getIntentSubtitle, p as getIntentBranchId, i as isMapOriginIntent, q as isBranchSelectable, s as getIntentCountryCode } from './helpers-BJxBnTgv.js';
|
|
6
6
|
import { L as Location } from './location-BO5AoBAP.js';
|
|
7
7
|
import { S as Search } from './search-BscTeWDc.js';
|
|
8
8
|
|
|
@@ -31,50 +31,15 @@ var GPS = `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="ht
|
|
|
31
31
|
</svg>
|
|
32
32
|
`;
|
|
33
33
|
|
|
34
|
-
var
|
|
35
|
-
<
|
|
36
|
-
<
|
|
37
|
-
<
|
|
38
|
-
<
|
|
39
|
-
<
|
|
40
|
-
<stop offset="1" stop-color="#C93732"/>
|
|
41
|
-
</linearGradient>
|
|
42
|
-
</defs>
|
|
34
|
+
var MiniMap = `<svg width="35" height="35" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
35
|
+
<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"/>
|
|
36
|
+
<path d="M17.9096 6.77445L28.7204 5.33301H32.4681L32.7564 11.8195V23.6393L10.4141 23.9276V10.8105L17.9096 6.77445Z" style="fill:#97E7C8"/>
|
|
37
|
+
<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"/>
|
|
38
|
+
<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"/>
|
|
39
|
+
<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"/>
|
|
43
40
|
</svg>
|
|
44
41
|
`;
|
|
45
42
|
|
|
46
|
-
var MiniMap = `<svg width="35" height="35" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
47
|
-
<g filter="url(#filter0_d_24181_220540)">
|
|
48
|
-
<mask id="mask0_24181_220540" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="1" y="0" width="33" height="32">
|
|
49
|
-
<rect x="1.90958" y="0.576577" width="30.8468" height="30.8468" rx="9.22523" fill="#D9D9D9" stroke="white" stroke-width="1.15315"/>
|
|
50
|
-
</mask>
|
|
51
|
-
<g mask="url(#mask0_24181_220540)">
|
|
52
|
-
<rect x="1.90958" y="0.576577" width="30.8468" height="30.8468" rx="9.22523" fill="#E8E8E8" stroke="white" stroke-width="1.15315"/>
|
|
53
|
-
<path d="M17.9096 6.77445L28.7204 5.33301H32.4681L32.7564 11.8195V23.6393L10.4141 23.9276V10.8105L17.9096 6.77445Z" fill="#97E7C8"/>
|
|
54
|
-
<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"/>
|
|
55
|
-
<rect x="2.34202" y="1.00901" width="29.982" height="29.982" rx="8.79279" stroke="white" stroke-width="2.01802"/>
|
|
56
|
-
</g>
|
|
57
|
-
<g clip-path="url(#clip0_24181_220540)">
|
|
58
|
-
<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"/>
|
|
59
|
-
</g>
|
|
60
|
-
</g>
|
|
61
|
-
<defs>
|
|
62
|
-
<filter id="filter0_d_24181_220540" x="-0.000325561" y="0" width="34.6667" height="34.6667" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
63
|
-
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
64
|
-
<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"/>
|
|
65
|
-
<feOffset dy="1.33333"/>
|
|
66
|
-
<feGaussianBlur stdDeviation="0.666667"/>
|
|
67
|
-
<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"/>
|
|
68
|
-
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_24181_220540"/>
|
|
69
|
-
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_24181_220540" result="shape"/>
|
|
70
|
-
</filter>
|
|
71
|
-
<clipPath id="clip0_24181_220540">
|
|
72
|
-
<rect width="12.1081" height="12.1081" fill="white" transform="translate(11.1338 8.07227)"/>
|
|
73
|
-
</clipPath>
|
|
74
|
-
</defs>
|
|
75
|
-
</svg>
|
|
76
|
-
`;
|
|
77
|
-
|
|
78
43
|
var Store = `<svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
79
44
|
<path
|
|
80
45
|
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"
|
|
@@ -88,7 +53,7 @@ var Store = `<svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="
|
|
|
88
53
|
</svg>
|
|
89
54
|
`;
|
|
90
55
|
|
|
91
|
-
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}";
|
|
56
|
+
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}";
|
|
92
57
|
|
|
93
58
|
const BRANCH_SEARCH_DEBOUNCE_MS = 1000;
|
|
94
59
|
const GEOLOCATION_TIMEOUT = 10000;
|
|
@@ -108,7 +73,6 @@ const SallaBulletDelivery = class {
|
|
|
108
73
|
this.bulletDeliveryClosed = createEvent(this, "bulletDeliveryClosed");
|
|
109
74
|
this.addressCreated = createEvent(this, "addressCreated");
|
|
110
75
|
this.headerContextUpdate = createEvent(this, "headerContextUpdate");
|
|
111
|
-
this.confirming = false;
|
|
112
76
|
this.pendingCartSubmitResolver = null;
|
|
113
77
|
this.pendingCartSubmitPromise = null;
|
|
114
78
|
this.cartSubmitConfirmationPending = false;
|
|
@@ -129,6 +93,8 @@ const SallaBulletDelivery = class {
|
|
|
129
93
|
this.cartSubmittingHandler = null;
|
|
130
94
|
this.useCartEventApi = false;
|
|
131
95
|
this.authLoggedInHandler = null;
|
|
96
|
+
/** Re-entrancy latch for tryAutoConfirmAfterLogin(); a flaky/duplicate auth::logged.in must not double-save. */
|
|
97
|
+
this.autoConfirmAfterLoginInFlight = false;
|
|
132
98
|
this.authLoggedOutHandler = null;
|
|
133
99
|
this.loginOpenHandler = null;
|
|
134
100
|
this.hasExplicitPreselectedIdsForOpen = false;
|
|
@@ -182,7 +148,6 @@ const SallaBulletDelivery = class {
|
|
|
182
148
|
this.loadingBranches = false;
|
|
183
149
|
this.loadingNearestBranch = false;
|
|
184
150
|
this.locationError = "";
|
|
185
|
-
this.savingAddress = false;
|
|
186
151
|
this.loadingSavedAddresses = false;
|
|
187
152
|
this.showCartWillBeClearedBanner = false;
|
|
188
153
|
// Searchable dropdown state
|
|
@@ -205,10 +170,10 @@ const SallaBulletDelivery = class {
|
|
|
205
170
|
this.addressToken = null;
|
|
206
171
|
this.loadingToken = false;
|
|
207
172
|
this.mapReady = false;
|
|
208
|
-
this.mapStep = 'map';
|
|
209
173
|
this.addressDescription = '';
|
|
210
174
|
/** True while reverse-geocoding a map-click/geolocation pick (no place from the map component itself). */
|
|
211
175
|
this.reverseGeocoding = false;
|
|
176
|
+
this.confirming = false;
|
|
212
177
|
this.newAddressForm = {
|
|
213
178
|
...SallaBulletDelivery.INITIAL_ADDRESS_FORM,
|
|
214
179
|
};
|
|
@@ -337,62 +302,35 @@ const SallaBulletDelivery = class {
|
|
|
337
302
|
}
|
|
338
303
|
}
|
|
339
304
|
};
|
|
305
|
+
// ─── End Map methods ───
|
|
340
306
|
/**
|
|
341
|
-
* Submit add-address form:
|
|
307
|
+
* Submit add-address form: stage the picked address/dropdowns as the session intent,
|
|
308
|
+
* then delegate to handleConfirm() for the single save→allocate→close path (avoids
|
|
309
|
+
* a second, independently-maintained "save an address" implementation — see SHPD-9907).
|
|
342
310
|
*/
|
|
343
|
-
this.
|
|
311
|
+
this.handleSubmitNewAddress = async (e) => {
|
|
344
312
|
e.preventDefault();
|
|
345
|
-
if (this.
|
|
313
|
+
if (this.confirming)
|
|
346
314
|
return;
|
|
347
|
-
const hasMap = this.
|
|
315
|
+
const hasMap = this.canConfirmMapLocation();
|
|
348
316
|
const hasDropdowns = this.selectedCountry && this.selectedCity;
|
|
349
317
|
if (!hasMap && !hasDropdowns)
|
|
350
318
|
return;
|
|
351
319
|
if (!hasMap &&
|
|
352
320
|
!requireRegionAndDistrictForSA(this.selectedCountry?.code, this.selectedRegion?.id, this.selectedDistrict?.id ?? (this.districtName?.trim() || null)))
|
|
353
321
|
return;
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
this.viewMode = "main";
|
|
367
|
-
this.districtName = "";
|
|
368
|
-
this.mapLocationData = null;
|
|
369
|
-
this.invalidatePendingGeocode();
|
|
370
|
-
this.mapStep = 'map';
|
|
371
|
-
this.addressDescription = '';
|
|
372
|
-
}
|
|
373
|
-
else {
|
|
374
|
-
if (!this.isLoggedIn) {
|
|
375
|
-
Salla.notify?.error(Salla.lang.get('pages.checkout.login_to_use_saved_addresses'));
|
|
376
|
-
this.handleLogin();
|
|
377
|
-
}
|
|
378
|
-
else {
|
|
379
|
-
Salla.notify?.error(Salla.lang.get("common.errors.error_occurred"));
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
catch (error) {
|
|
384
|
-
console.error("SallaBulletDelivery: Error saving address", error);
|
|
385
|
-
if (!this.isLoggedIn) {
|
|
386
|
-
Salla.notify?.error(Salla.lang.get('pages.checkout.login_to_use_saved_addresses'));
|
|
387
|
-
this.handleLogin();
|
|
388
|
-
}
|
|
389
|
-
else {
|
|
390
|
-
Salla.notify?.error(Salla.lang.get("common.errors.error_occurred"));
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
finally {
|
|
394
|
-
this.savingAddress = false;
|
|
395
|
-
}
|
|
322
|
+
const details = this.buildIntentAddress();
|
|
323
|
+
if (!details)
|
|
324
|
+
return;
|
|
325
|
+
this.setStoredIntent({
|
|
326
|
+
type: "address",
|
|
327
|
+
country_id: Number(this.selectedCountry?.id) || 0,
|
|
328
|
+
country_code: this.selectedCountry?.code || "",
|
|
329
|
+
address_details: details,
|
|
330
|
+
});
|
|
331
|
+
this.selectedSavedAddress = null;
|
|
332
|
+
this.selectedSessionAddress = true;
|
|
333
|
+
await this.handleConfirm();
|
|
396
334
|
};
|
|
397
335
|
this.handleCountrySelected = (item) => {
|
|
398
336
|
const country = this.countries.find(c => String(c.id) === String(item.id)) || item;
|
|
@@ -472,9 +410,12 @@ const SallaBulletDelivery = class {
|
|
|
472
410
|
return Salla.config.isMobileApp();
|
|
473
411
|
}
|
|
474
412
|
/**
|
|
475
|
-
* Opens the bullet delivery modal
|
|
413
|
+
* Opens the bullet delivery modal. Pass `silent: true` to run the same state/data
|
|
414
|
+
* loading below without showing the modal — used by tryAutoConfirmAfterLogin() so a
|
|
415
|
+
* successful auto-confirm never flashes the saved-addresses list; the caller is
|
|
416
|
+
* responsible for revealing the modal itself if it still needs the customer's input.
|
|
476
417
|
*/
|
|
477
|
-
async open() {
|
|
418
|
+
async open(silent = false) {
|
|
478
419
|
if (!this.isEnabled)
|
|
479
420
|
return; // feature disabled — never open
|
|
480
421
|
// If mobile app, open the sheet
|
|
@@ -489,9 +430,11 @@ const SallaBulletDelivery = class {
|
|
|
489
430
|
}
|
|
490
431
|
// Reset state before opening
|
|
491
432
|
this.resetState();
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
433
|
+
if (!silent) {
|
|
434
|
+
// Open modal immediately — fields render right away with inline loading
|
|
435
|
+
this.modal.open();
|
|
436
|
+
Salla.event.dispatch("salla::bullet-delivery.modal.opened");
|
|
437
|
+
}
|
|
495
438
|
try {
|
|
496
439
|
this.isLoggedIn = !this.isGuestUser();
|
|
497
440
|
const savedIntent = this.cleanStaleGuestAddressIdIfNeeded(this.getStoredIntent());
|
|
@@ -583,6 +526,7 @@ const SallaBulletDelivery = class {
|
|
|
583
526
|
this.mapLocationData = null;
|
|
584
527
|
this.invalidatePendingGeocode();
|
|
585
528
|
this.autoGeolocationTriggered = false;
|
|
529
|
+
this.addressDescription = "";
|
|
586
530
|
this.selectedCountry = null;
|
|
587
531
|
this.selectedRegion = null;
|
|
588
532
|
this.selectedCity = null;
|
|
@@ -681,12 +625,65 @@ const SallaBulletDelivery = class {
|
|
|
681
625
|
return false;
|
|
682
626
|
if (!this.isIntentMethodSupported(intent))
|
|
683
627
|
return false;
|
|
628
|
+
// address_id/branch_id alone isn't enough — saveSessionAddressToProfile() persists
|
|
629
|
+
// address_id as soon as the address is *saved*, before allocation even runs, so a
|
|
630
|
+
// later allocation failure must not make this look complete. scope_allocated is only
|
|
631
|
+
// ever explicitly false (that saved-not-allocated state) or true; undefined means a
|
|
632
|
+
// legacy intent persisted before this field existed (or one written elsewhere without
|
|
633
|
+
// an outcome yet) — treat that the same as before rather than incorrectly re-prompting
|
|
634
|
+
// returning customers who already had a valid, complete intent.
|
|
635
|
+
if (intent.scope_allocated === false)
|
|
636
|
+
return false;
|
|
684
637
|
if (intent.type === "address")
|
|
685
638
|
return !!intent.address_id;
|
|
686
639
|
if (intent.type === "branch")
|
|
687
640
|
return !!intent.branch_id;
|
|
688
641
|
return false;
|
|
689
642
|
}
|
|
643
|
+
/**
|
|
644
|
+
* Auto-save + allocate a guest's pre-login address pick the moment auth::logged.in
|
|
645
|
+
* fires, instead of reopening the modal and waiting for another "Confirm" click
|
|
646
|
+
* (SHPD-9907). Guarded by hasIncompleteUserAddressIntent(), which only turns false
|
|
647
|
+
* once the intent gains an address_id — a durable guard even across a duplicate
|
|
648
|
+
* event, unlike `confirming` alone which resets after the redirect timeout.
|
|
649
|
+
*/
|
|
650
|
+
async tryAutoConfirmAfterLogin() {
|
|
651
|
+
if (this.confirming || this.autoConfirmAfterLoginInFlight)
|
|
652
|
+
return false;
|
|
653
|
+
if (!this.hasIncompleteUserAddressIntent())
|
|
654
|
+
return false;
|
|
655
|
+
this.autoConfirmAfterLoginInFlight = true;
|
|
656
|
+
const wasVisible = !!this.modal?.hasAttribute?.("visible");
|
|
657
|
+
try {
|
|
658
|
+
if (!wasVisible) {
|
|
659
|
+
// Load silently — a successful auto-confirm should never flash the
|
|
660
|
+
// saved-addresses list; only reveal the modal below if it can't finish on its own.
|
|
661
|
+
await this.open(true);
|
|
662
|
+
}
|
|
663
|
+
// open() -> loadSavedAddresses() already sets selectedSessionAddress when a
|
|
664
|
+
// session intent exists; bail if that didn't happen (e.g. address_id already set).
|
|
665
|
+
if (!this.selectedSessionAddress) {
|
|
666
|
+
if (!wasVisible)
|
|
667
|
+
this.modal?.open();
|
|
668
|
+
return false;
|
|
669
|
+
}
|
|
670
|
+
await this.handleConfirm();
|
|
671
|
+
// Checking hasCompleteIntentForLoggedInUser() (rather than just
|
|
672
|
+
// allocationOutOfCoverageMessage) also catches a *save* failure — handleConfirm()
|
|
673
|
+
// returns early on that before ever setting an allocation message, which used to
|
|
674
|
+
// make this report success even though nothing was actually confirmed.
|
|
675
|
+
if (!wasVisible && !this.hasCompleteIntentForLoggedInUser()) {
|
|
676
|
+
// Save or allocation failed — surface the modal so the customer can see why
|
|
677
|
+
// and retry or pick a different address.
|
|
678
|
+
this.modal?.open();
|
|
679
|
+
return false;
|
|
680
|
+
}
|
|
681
|
+
return true;
|
|
682
|
+
}
|
|
683
|
+
finally {
|
|
684
|
+
this.autoConfirmAfterLoginInFlight = false;
|
|
685
|
+
}
|
|
686
|
+
}
|
|
690
687
|
/**
|
|
691
688
|
* Authenticated users on the cart page must select/confirm an address before
|
|
692
689
|
* they can dismiss the modal.
|
|
@@ -1298,10 +1295,13 @@ const SallaBulletDelivery = class {
|
|
|
1298
1295
|
this.viewMode = "main";
|
|
1299
1296
|
this.mapLocationData = null;
|
|
1300
1297
|
this.invalidatePendingGeocode();
|
|
1301
|
-
this.mapStep = 'map';
|
|
1302
1298
|
this.addressDescription = '';
|
|
1303
1299
|
this.autoGeolocationTriggered = false;
|
|
1304
1300
|
}
|
|
1301
|
+
/** Whether there's a saved-addresses list (or a pending session intent) to go back to from the add-address view. */
|
|
1302
|
+
hasAddressesToGoBack() {
|
|
1303
|
+
return this.savedAddresses.length > 0 || hasSessionAddressIntent(this.getStoredIntent());
|
|
1304
|
+
}
|
|
1305
1305
|
// ─── Map methods ───
|
|
1306
1306
|
async fetchAddressToken() {
|
|
1307
1307
|
if (this.addressToken || this.loadingToken)
|
|
@@ -1400,9 +1400,13 @@ const SallaBulletDelivery = class {
|
|
|
1400
1400
|
get isMapModeAvailable() {
|
|
1401
1401
|
return this.isMapSettingEnabled && !!salla.config.get('store.settings.keys.maps') && !!this.addressToken;
|
|
1402
1402
|
}
|
|
1403
|
+
/** In map mode and a pin has already been dropped (as opposed to still using the dropdowns), regardless of login state. */
|
|
1404
|
+
get isMapPick() {
|
|
1405
|
+
return this.isMapModeAvailable && this.hasMapLocation();
|
|
1406
|
+
}
|
|
1403
1407
|
/** Guest is in map mode and has already dropped a pin (as opposed to still using the dropdowns). */
|
|
1404
1408
|
get isGuestMapPick() {
|
|
1405
|
-
return !this.isLoggedIn && this.
|
|
1409
|
+
return !this.isLoggedIn && this.isMapPick;
|
|
1406
1410
|
}
|
|
1407
1411
|
/** Center shown before geolocation resolves — the customer's IP-based default (falls back to Riyadh). */
|
|
1408
1412
|
get mapInitialCenter() {
|
|
@@ -1425,32 +1429,6 @@ const SallaBulletDelivery = class {
|
|
|
1425
1429
|
const num = Number(value);
|
|
1426
1430
|
return Number.isFinite(num) ? num : null;
|
|
1427
1431
|
}
|
|
1428
|
-
// ─── End Map methods ───
|
|
1429
|
-
/**
|
|
1430
|
-
* Build address/location payload from guest-form state (same fields as add-address).
|
|
1431
|
-
*/
|
|
1432
|
-
buildAddressLocationPayload() {
|
|
1433
|
-
if (this.isMapModeAvailable && this.hasMapLocation()) {
|
|
1434
|
-
return {
|
|
1435
|
-
lat: this.mapLocationData.lat,
|
|
1436
|
-
lng: this.mapLocationData.lng,
|
|
1437
|
-
...(this.mapLocationData.shortAddress && { short_address: this.mapLocationData.shortAddress }),
|
|
1438
|
-
...(this.addressDescription?.trim() && { description: this.addressDescription.trim() }),
|
|
1439
|
-
};
|
|
1440
|
-
}
|
|
1441
|
-
const districtName = this.selectedDistrict?.name ?? this.districtName?.trim() ?? "";
|
|
1442
|
-
return buildAddressLocationPayloadFromSelection({
|
|
1443
|
-
countryId: this.selectedCountry?.id ?? 0,
|
|
1444
|
-
countryCode: this.selectedCountry?.code,
|
|
1445
|
-
regionId: this.selectedRegion?.id,
|
|
1446
|
-
cityId: this.selectedCity?.id,
|
|
1447
|
-
districtId: this.selectedDistrict?.id,
|
|
1448
|
-
description: districtName,
|
|
1449
|
-
lat: this.mapLocationData?.lat,
|
|
1450
|
-
lng: this.mapLocationData?.lng,
|
|
1451
|
-
shortAddress: this.mapLocationData?.shortAddress,
|
|
1452
|
-
});
|
|
1453
|
-
}
|
|
1454
1432
|
async handleTabChange(tab) {
|
|
1455
1433
|
if (this.tabChanging)
|
|
1456
1434
|
return;
|
|
@@ -1612,7 +1590,7 @@ const SallaBulletDelivery = class {
|
|
|
1612
1590
|
* when already open AND already correctly reflecting the logged-in state, so a duplicate
|
|
1613
1591
|
* auth::logged.in firing can't reset in-progress form input or cause a visible re-render flicker.
|
|
1614
1592
|
*/
|
|
1615
|
-
handlePendingSubmitAfterLogin() {
|
|
1593
|
+
async handlePendingSubmitAfterLogin() {
|
|
1616
1594
|
// auth::logged.in can fire prematurely (e.g. a silent cross-store login attempt,
|
|
1617
1595
|
// packages/twilight/src/api/cart.js's tryCrossStoreLogin, whose profile sync can complete
|
|
1618
1596
|
// without actually flipping the session to logged-in) while Salla.config still reports a
|
|
@@ -1626,6 +1604,10 @@ const SallaBulletDelivery = class {
|
|
|
1626
1604
|
this.resolvePendingCartSubmit();
|
|
1627
1605
|
return;
|
|
1628
1606
|
}
|
|
1607
|
+
// handleConfirm()'s own close() resolves the pending cart-submit gate, so
|
|
1608
|
+
// just return on success rather than resolving it a second time here.
|
|
1609
|
+
if (await this.tryAutoConfirmAfterLogin())
|
|
1610
|
+
return;
|
|
1629
1611
|
if (!this.modal?.hasAttribute?.("visible") || !this.isLoggedIn) {
|
|
1630
1612
|
this.open();
|
|
1631
1613
|
}
|
|
@@ -1633,7 +1615,7 @@ const SallaBulletDelivery = class {
|
|
|
1633
1615
|
buildIntentAddress() {
|
|
1634
1616
|
if (this.activeTab !== "address")
|
|
1635
1617
|
return undefined;
|
|
1636
|
-
if (this.
|
|
1618
|
+
if (this.isMapPick && this.mapLocationData) {
|
|
1637
1619
|
const { lat, lng, formattedAddress, shortAddress } = this.mapLocationData;
|
|
1638
1620
|
return {
|
|
1639
1621
|
country: this.selectedCountry
|
|
@@ -2024,6 +2006,20 @@ const SallaBulletDelivery = class {
|
|
|
2024
2006
|
? String(allocationBranchId)
|
|
2025
2007
|
: undefined,
|
|
2026
2008
|
});
|
|
2009
|
+
// Applying the allocated scope to this session must succeed before treating the
|
|
2010
|
+
// confirmation as done — allocateScope() only creates the allocation server-side;
|
|
2011
|
+
// setDeliveryScope() is what makes *this* session use it. Ignoring its result let
|
|
2012
|
+
// checkout proceed (and scope_allocated get persisted) even when it failed.
|
|
2013
|
+
if (allocatedScopeId) {
|
|
2014
|
+
const scopeApplied = await bulletDeliveryAPI.setDeliveryScope(allocatedScopeId);
|
|
2015
|
+
if (!scopeApplied) {
|
|
2016
|
+
this.allocationOutOfCoverageMessage = `${Salla.lang.get("common.errors.error_occurred")}.`;
|
|
2017
|
+
this.confirmBtn?.stop();
|
|
2018
|
+
this.confirming = false;
|
|
2019
|
+
return;
|
|
2020
|
+
}
|
|
2021
|
+
clearApiCache();
|
|
2022
|
+
}
|
|
2027
2023
|
// Store headers in result object for persistence after page reload
|
|
2028
2024
|
result.allocation_headers = {
|
|
2029
2025
|
"s-scope-allocation-type": allocationType,
|
|
@@ -2036,11 +2032,7 @@ const SallaBulletDelivery = class {
|
|
|
2036
2032
|
this.markShownThisSession();
|
|
2037
2033
|
// After allocation success: persist latest intent so switch UI can always reflect
|
|
2038
2034
|
// the selected address/branch once confirmed.
|
|
2039
|
-
this.setStoredIntent(result);
|
|
2040
|
-
if (allocatedScopeId) {
|
|
2041
|
-
await bulletDeliveryAPI.setDeliveryScope(allocatedScopeId);
|
|
2042
|
-
clearApiCache();
|
|
2043
|
-
}
|
|
2035
|
+
this.setStoredIntent({ ...result, scope_allocated: true });
|
|
2044
2036
|
const allocationConfirmedPayload = {
|
|
2045
2037
|
...result,
|
|
2046
2038
|
address: this.buildAllocationConfirmedAddressData(selectedAddress),
|
|
@@ -2238,8 +2230,10 @@ const SallaBulletDelivery = class {
|
|
|
2238
2230
|
const { success, address } = await bulletDeliveryAPI.saveAddressLocation(payload);
|
|
2239
2231
|
if (!success || !address)
|
|
2240
2232
|
return null;
|
|
2241
|
-
// Persist address_id immediately to avoid duplicate creation on retry
|
|
2242
|
-
|
|
2233
|
+
// Persist address_id immediately to avoid duplicate creation on retry — but keep
|
|
2234
|
+
// scope_allocated false: the address is saved, not yet allocated, so a later
|
|
2235
|
+
// allocation failure must not make hasCompleteIntentForLoggedInUser() think it is.
|
|
2236
|
+
this.setStoredIntent({ ...intent, address_id: address.id, scope_allocated: false });
|
|
2243
2237
|
this.addressCreated.emit({ address });
|
|
2244
2238
|
return address;
|
|
2245
2239
|
}
|
|
@@ -2274,6 +2268,10 @@ const SallaBulletDelivery = class {
|
|
|
2274
2268
|
return null;
|
|
2275
2269
|
const savedAddress = address ?? null;
|
|
2276
2270
|
if (savedAddress) {
|
|
2271
|
+
// Persist address_id immediately to avoid duplicate creation on retry — but keep
|
|
2272
|
+
// scope_allocated false: the address is saved, not yet allocated, so a later
|
|
2273
|
+
// allocation failure must not make hasCompleteIntentForLoggedInUser() think it is.
|
|
2274
|
+
this.setStoredIntent({ ...intent, address_id: savedAddress.id, scope_allocated: false });
|
|
2277
2275
|
this.addressCreated.emit({ address: savedAddress });
|
|
2278
2276
|
}
|
|
2279
2277
|
return savedAddress;
|
|
@@ -2362,14 +2360,14 @@ const SallaBulletDelivery = class {
|
|
|
2362
2360
|
}
|
|
2363
2361
|
renderAddressConfirmation() {
|
|
2364
2362
|
const address = this.mapLocationData?.formattedAddress ?? '';
|
|
2365
|
-
|
|
2366
|
-
return (h("div", { class: "s-bullet-delivery-address-confirm" }, h("div", { class: "s-bullet-delivery-address-confirm-card" }, h("div", { class: "s-bullet-delivery-address-confirm-details" }, h("span", { class: "s-bullet-delivery-address-confirm-label" }, Salla.lang.get('pages.checkout.selected_address')), h("p", { class: "s-bullet-delivery-address-confirm-text" }, address), shortCode && (h("span", { class: "s-bullet-delivery-address-confirm-tag" }, shortCode, h("span", { class: "s-bullet-delivery-address-confirm-tag-icon", innerHTML: LocationTag })))), h("button", { type: "button", class: "s-bullet-delivery-address-confirm-edit", onClick: () => { this.mapStep = 'map'; } }, Salla.lang.get('common.elements.edit'))), h("div", { class: "s-bullet-delivery-address-confirm-description" }, h("label", { class: "s-bullet-delivery-address-confirm-description-label" }, Salla.lang.get('pages.checkout.address_description'), h("span", { class: "s-bullet-delivery-address-confirm-description-optional" }, Salla.lang.get('common.elements.optional'))), 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; } }))));
|
|
2363
|
+
return (h("div", { class: "s-bullet-delivery-address-confirm" }, h("div", { class: "s-bullet-delivery-address-confirm-card" }, h("span", { class: "s-bullet-delivery-address-map-icon", innerHTML: MiniMap, "aria-hidden": "true" }), h("div", { class: "s-bullet-delivery-address-confirm-details" }, h("span", { class: "s-bullet-delivery-address-confirm-label" }, Salla.lang.get('pages.checkout.selected_address')), h("p", { class: "s-bullet-delivery-address-confirm-text" }, address))), h("div", { class: "s-bullet-delivery-address-confirm-description" }, h("label", { class: "s-bullet-delivery-address-confirm-description-label" }, Salla.lang.get('pages.checkout.address_description'), h("span", { class: "s-bullet-delivery-address-confirm-description-optional" }, Salla.lang.get('common.elements.optional'))), 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; } }))));
|
|
2367
2364
|
}
|
|
2368
2365
|
renderGuestDeliveryForm() {
|
|
2369
2366
|
if (this.isMapModeAvailable) {
|
|
2370
|
-
return
|
|
2371
|
-
|
|
2372
|
-
|
|
2367
|
+
return [
|
|
2368
|
+
this.renderMapSection(),
|
|
2369
|
+
this.hasMapLocation() ? this.renderAddressConfirmation() : null,
|
|
2370
|
+
];
|
|
2373
2371
|
}
|
|
2374
2372
|
const isSA = isSaudiArabia(this.selectedCountry?.code ?? '');
|
|
2375
2373
|
return [
|
|
@@ -2391,23 +2389,15 @@ const SallaBulletDelivery = class {
|
|
|
2391
2389
|
if (!this.isMapModeAvailable) {
|
|
2392
2390
|
return this.renderGuestDeliveryForm();
|
|
2393
2391
|
}
|
|
2394
|
-
const
|
|
2395
|
-
const
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
? (this.confirming
|
|
2399
|
-
? Salla.lang.get("pages.checkout.loading")
|
|
2400
|
-
: Salla.lang.get("pages.checkout.confirm_address"))
|
|
2401
|
-
: Salla.lang.get('pages.checkout.confirm_location');
|
|
2392
|
+
const canSubmit = this.canConfirmMapLocation();
|
|
2393
|
+
const submitLabel = this.confirming
|
|
2394
|
+
? Salla.lang.get("pages.checkout.loading")
|
|
2395
|
+
: Salla.lang.get("pages.checkout.confirm_address");
|
|
2402
2396
|
const handleSubmit = (e) => {
|
|
2403
2397
|
e.preventDefault();
|
|
2404
|
-
if (!isConfirmStep && canAdvanceToConfirm) {
|
|
2405
|
-
this.mapStep = 'confirm';
|
|
2406
|
-
return;
|
|
2407
|
-
}
|
|
2408
2398
|
this.handleConfirm();
|
|
2409
2399
|
};
|
|
2410
|
-
return (h("form", { onSubmit: handleSubmit }, this.renderGuestDeliveryForm(), h("div", { class: "s-bullet-delivery-form-actions s-bullet-delivery-form-actions--single", style: { padding: '24px' } }, h("salla-button", { type: "submit", loading: this.confirming, disabled:
|
|
2400
|
+
return (h("form", { onSubmit: handleSubmit }, this.renderGuestDeliveryForm(), h("div", { class: "s-bullet-delivery-form-actions s-bullet-delivery-form-actions--single", style: { padding: '24px' } }, h("salla-button", { type: "submit", loading: this.confirming, disabled: !canSubmit || this.confirming, width: "wide" }, submitLabel), !this.isLoggedIn && (h("button", { type: "button", class: "s-bullet-delivery-login-prompt", onClick: () => this.handleLogin() }, Salla.lang.get('pages.checkout.login_to_use_saved_addresses'))))));
|
|
2411
2401
|
}
|
|
2412
2402
|
renderBranchSearch() {
|
|
2413
2403
|
return (h("div", { class: "s-bullet-delivery-branch-search" }, h("div", { class: "s-bullet-delivery-search-row" }, h("div", { class: "s-bullet-delivery-search s-bullet-delivery-branch-search-wrap" }, h("span", { class: "s-bullet-delivery-search-icon s-bullet-delivery-branch-search-icon", innerHTML: Search, "aria-hidden": "true" }), 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" })), h("button", { type: "button", class: {
|
|
@@ -2471,25 +2461,18 @@ const SallaBulletDelivery = class {
|
|
|
2471
2461
|
"s-hidden": this.activeTab !== "branch",
|
|
2472
2462
|
} }, this.renderCountrySelect(), this.renderBranchSearch(), this.renderBranchList()));
|
|
2473
2463
|
}
|
|
2474
|
-
/** Add-address form: map
|
|
2464
|
+
/** Add-address form: map + confirm card in one screen, or dropdown fallback. */
|
|
2475
2465
|
renderAddAddressForm() {
|
|
2476
|
-
Salla.lang.get("pages.checkout.add_new_address");
|
|
2477
2466
|
const mapMode = this.isMapModeAvailable;
|
|
2478
2467
|
const isSA = isSaudiArabia(this.selectedCountry?.code ?? '');
|
|
2479
2468
|
const hasMapLoc = this.hasMapLocation();
|
|
2480
2469
|
let canSubmit;
|
|
2481
2470
|
let submitLabel;
|
|
2482
2471
|
if (mapMode) {
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
else {
|
|
2488
|
-
canSubmit = hasMapLoc;
|
|
2489
|
-
submitLabel = this.savingAddress
|
|
2490
|
-
? Salla.lang.get("pages.checkout.loading")
|
|
2491
|
-
: Salla.lang.get("pages.checkout.confirm_address");
|
|
2492
|
-
}
|
|
2472
|
+
canSubmit = this.canConfirmMapLocation();
|
|
2473
|
+
submitLabel = this.confirming
|
|
2474
|
+
? Salla.lang.get("pages.checkout.loading")
|
|
2475
|
+
: Salla.lang.get("pages.checkout.confirm_address");
|
|
2493
2476
|
}
|
|
2494
2477
|
else {
|
|
2495
2478
|
const canSubmitDropdowns = this.selectedCountry &&
|
|
@@ -2499,20 +2482,16 @@ const SallaBulletDelivery = class {
|
|
|
2499
2482
|
!!this.selectedDistrict ||
|
|
2500
2483
|
!!(this.districtName && this.districtName.trim().length > 0));
|
|
2501
2484
|
canSubmit = hasMapLoc || canSubmitDropdowns;
|
|
2502
|
-
submitLabel = this.
|
|
2485
|
+
submitLabel = this.confirming
|
|
2503
2486
|
? Salla.lang.get("pages.checkout.loading")
|
|
2504
2487
|
: Salla.lang.get("pages.checkout.confirm_address");
|
|
2505
2488
|
}
|
|
2506
|
-
this.savedAddresses.length > 0 || hasSessionAddressIntent(this.getStoredIntent());
|
|
2507
2489
|
const handleFormSubmit = (e) => {
|
|
2508
2490
|
e.preventDefault();
|
|
2509
|
-
|
|
2510
|
-
this.mapStep = 'confirm';
|
|
2511
|
-
return;
|
|
2512
|
-
}
|
|
2513
|
-
this.handleSubmitAddAddress(e);
|
|
2491
|
+
this.handleSubmitNewAddress(e);
|
|
2514
2492
|
};
|
|
2515
|
-
return (h("div", { class: "s-bullet-delivery-add-address" },
|
|
2493
|
+
return (h("div", { class: "s-bullet-delivery-add-address" }, this.allocationOutOfCoverageMessage &&
|
|
2494
|
+
this.renderAllocationOutOfCoverageAlert(), h("form", { class: "s-bullet-delivery-add-address-form", onSubmit: handleFormSubmit }, this.renderGuestDeliveryForm(), h("div", { class: "s-bullet-delivery-form-actions s-bullet-delivery-form-actions--single" }, h("salla-button", { type: "submit", loading: this.confirming, disabled: !canSubmit || this.confirming, class: "s-bullet-delivery-add-address-submit" }, submitLabel), this.hasAddressesToGoBack() && (h("salla-button", { shape: "link", class: "s-bullet-delivery-back-to-list-link", onClick: () => this.handleBackToAddressList() }, Salla.lang.getWithDefault('pages.checkout.saved_addresses', 'العناوين المحفوظة'), h("i", { class: "sicon-arrow-left" })))))));
|
|
2516
2495
|
}
|
|
2517
2496
|
renderFooter() {
|
|
2518
2497
|
if (this.activeTab === "address" && !this.isLoggedIn && this.isMapModeAvailable) {
|
|
@@ -2597,15 +2576,26 @@ const SallaBulletDelivery = class {
|
|
|
2597
2576
|
if (!this.isEnabled)
|
|
2598
2577
|
return;
|
|
2599
2578
|
if (this.pendingCartSubmitPromise) {
|
|
2600
|
-
// A prior attempt is still pending
|
|
2601
|
-
//
|
|
2602
|
-
if (this.isGuestUser()) {
|
|
2603
|
-
this.
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
this.
|
|
2579
|
+
// A prior attempt is still pending. For a logged-in user, re-prompt instead of
|
|
2580
|
+
// silently awaiting with nothing visible.
|
|
2581
|
+
if (!this.isGuestUser()) {
|
|
2582
|
+
if (!this.modal?.hasAttribute?.("visible")) {
|
|
2583
|
+
this.open();
|
|
2584
|
+
}
|
|
2585
|
+
await this.pendingCartSubmitPromise;
|
|
2586
|
+
return;
|
|
2607
2587
|
}
|
|
2608
|
-
|
|
2588
|
+
// Guest: login was already shown once for this attempt — reopening it here (the
|
|
2589
|
+
// old behavior) fought whatever the guest just chose (e.g. "Continue as Guest")
|
|
2590
|
+
// and froze the page. Reset the gate so the *next* checkout click starts a clean
|
|
2591
|
+
// cycle (reopening login again, repeating until the guest actually logs in and
|
|
2592
|
+
// allocates) — but never resolve *this* invocation: returning here would resolve
|
|
2593
|
+
// salla.cart.event.submitting() (built on emitAsync, which awaits every listener),
|
|
2594
|
+
// letting cart.js's status() continue straight through to the checkout redirect.
|
|
2595
|
+
this.pendingCartSubmitResolver = null;
|
|
2596
|
+
this.pendingCartSubmitPromise = null;
|
|
2597
|
+
this.cartSubmitConfirmationPending = false;
|
|
2598
|
+
await new Promise(() => { });
|
|
2609
2599
|
return;
|
|
2610
2600
|
}
|
|
2611
2601
|
// Logged-in users with a complete intent can continue checkout without re-prompting.
|
|
@@ -2636,14 +2626,16 @@ const SallaBulletDelivery = class {
|
|
|
2636
2626
|
this.closeHandler = this.close.bind(this);
|
|
2637
2627
|
Salla.event.on("salla::bullet-delivery.modal.close.requested", this.closeHandler);
|
|
2638
2628
|
this.isRTL = Salla.config.get("theme.is_rtl");
|
|
2639
|
-
this.authLoggedInHandler = () => {
|
|
2629
|
+
this.authLoggedInHandler = async () => {
|
|
2640
2630
|
if (this.cartSubmitConfirmationPending) {
|
|
2641
|
-
this.handlePendingSubmitAfterLogin();
|
|
2631
|
+
await this.handlePendingSubmitAfterLogin();
|
|
2642
2632
|
return;
|
|
2643
2633
|
}
|
|
2644
2634
|
// Always prompt after login when intent is incomplete, regardless of prior prompted flags.
|
|
2645
2635
|
if (!this.hasIncompleteUserAddressIntent())
|
|
2646
2636
|
return;
|
|
2637
|
+
if (await this.tryAutoConfirmAfterLogin())
|
|
2638
|
+
return;
|
|
2647
2639
|
if (this.modal?.hasAttribute?.("visible"))
|
|
2648
2640
|
return;
|
|
2649
2641
|
this.open();
|
|
@@ -3062,18 +3054,18 @@ const SallaSearchableDropdown = class {
|
|
|
3062
3054
|
render() {
|
|
3063
3055
|
const hasSelection = this.selectedItem != null;
|
|
3064
3056
|
const listboxId = `${this.inputId}-listbox`;
|
|
3065
|
-
return (h(Host, { key: '
|
|
3057
|
+
return (h(Host, { key: '55e97edfcdfa3e48bc846f56c1edd5da6505eee5', class: "s-searchable-dropdown" }, h("div", { key: '030c39a1894841330c68935955d00f9a3b7cccf7', class: { 's-searchable-dropdown': true, 's-searchable-dropdown--open': this.isOpen } }, this.label && (h("label", { key: '9f8af8e5d7436f1f0eccf697c7f57eeb0561bf46', class: "s-searchable-dropdown-label", htmlFor: this.inputId }, this.label, this.required && h("span", { key: '3af173bbd1c5ebd149b9c267ce5fe783580ffd42', class: "s-searchable-dropdown-required" }, " *"))), h("div", { key: '50e3fae530c18a87983a008ac46118e43c4847bc', class: {
|
|
3066
3058
|
's-searchable-dropdown-trigger': true,
|
|
3067
3059
|
's-searchable-dropdown-trigger--disabled': this.disabled || this.loading,
|
|
3068
3060
|
's-searchable-dropdown-trigger--open': this.isOpen,
|
|
3069
|
-
}, 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 ? (h("span", { class: "s-searchable-dropdown-trigger-text" }, this.getDisplayName(this.selectedItem))) : (h("span", { class: "s-searchable-dropdown-trigger-placeholder" }, this.placeholder)), h("i", { key: '
|
|
3061
|
+
}, 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 ? (h("span", { class: "s-searchable-dropdown-trigger-text" }, this.getDisplayName(this.selectedItem))) : (h("span", { class: "s-searchable-dropdown-trigger-placeholder" }, this.placeholder)), h("i", { key: 'e6c3b6ee296810cdf554cdca5a7bf7a86b373f1c', class: {
|
|
3070
3062
|
'sicon-keyboard_arrow_down': true,
|
|
3071
3063
|
's-searchable-dropdown-trigger-icon': true,
|
|
3072
3064
|
's-searchable-dropdown-trigger-icon--open': this.isOpen,
|
|
3073
|
-
}, "aria-hidden": "true" })), this.isOpen && (h("div", { key: '
|
|
3065
|
+
}, "aria-hidden": "true" })), this.isOpen && (h("div", { key: '615cf48076e86b6be2a8fa6eba2de7dbcfe8518c', class: {
|
|
3074
3066
|
's-searchable-dropdown-panel': true,
|
|
3075
3067
|
's-searchable-dropdown-panel--up': this.dropUp,
|
|
3076
|
-
}, ref: (el) => (this.panelRef = el) }, this.searchable && (h("div", { key: '
|
|
3068
|
+
}, ref: (el) => (this.panelRef = el) }, this.searchable && (h("div", { key: '14012e1869604b362d31710776d2278f23242690', class: "s-searchable-dropdown-search-wrap" }, h("i", { key: '26de269b2cbcfbb38f675b45b0bea1ba3dccaa9b', class: "sicon-search s-searchable-dropdown-search-icon", "aria-hidden": "true" }), 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 }))), h("div", { key: '9645e12894cfa5a6783876de18472a9ca004f602', id: listboxId, class: "s-searchable-dropdown-list s-scrollbar", role: "listbox" }, this.renderListContent()))))));
|
|
3077
3069
|
}
|
|
3078
3070
|
renderListContent() {
|
|
3079
3071
|
if (this.searching || this.loading) {
|