@salla.sa/twilight-components 2.14.543 → 2.14.545
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-uhJt4caG.js → filepond-B5aWlI3l.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-Dy-GRHf0.js → filepond-plugin-file-poster-BYq39KHd.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-BWIBGLW-.js → filepond-plugin-file-validate-size-Bi3TAsJv.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-DEVtMF0l.js → filepond-plugin-file-validate-type-Ck6S5TuZ.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-DSDoJaLw.js → filepond-plugin-image-edit-DbsdnH5j.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-BdZit5hj.js → filepond-plugin-image-exif-orientation-x7TfJR-2.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-Z3_zQyYR.js → filepond-plugin-image-preview-CrU7vIRk.js} +1 -1
- package/dist/cjs/helpers-DHdDjm5V.js +340 -0
- package/dist/cjs/{index-Bw3b6O6G.js → index-DGpOR-TH.js} +14 -14
- package/dist/cjs/{intlTelInput-CXe3TkdL.js → intlTelInput-DKAXRecW.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{mail-CO8cFZH7.js → mail-C9D8MHae.js} +2 -2
- package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-accordion_6.cjs.entry.js +1 -1
- package/dist/cjs/salla-add-product-button_5.cjs.entry.js +1 -1
- 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-apps-icons.cjs.entry.js +1 -1
- package/dist/cjs/salla-attachment-view_9.cjs.entry.js +10 -10
- 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_2.cjs.entry.js +156 -401
- package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-summary-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-comment-factors.cjs.entry.js +1 -1
- package/dist/cjs/{salla-comment-form_9.cjs.entry.js → salla-comment-form_8.cjs.entry.js} +3 -259
- package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +3 -3
- package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
- package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
- package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
- package/dist/cjs/salla-delivery-promise.cjs.entry.js +21 -5
- package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters.cjs.entry.js +1 -1
- package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
- package/dist/cjs/salla-gifting.cjs.entry.js +1 -1
- package/dist/cjs/salla-hook.cjs.entry.js +1 -1
- package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
- package/dist/cjs/salla-installment.cjs.entry.js +1 -1
- package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
- package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-banner_10.cjs.entry.js +3 -3
- package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
- package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-map_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
- package/dist/cjs/salla-notification-item_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-options-modal_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-shipments.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-orders.cjs.entry.js +1 -1
- package/dist/cjs/salla-payments.cjs.entry.js +1 -1
- package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
- package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
- package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
- package/dist/cjs/salla-products-slider.cjs.entry.js +1 -1
- package/dist/cjs/salla-quick-order.cjs.entry.js +3 -3
- package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +14 -73
- package/dist/cjs/salla-rating-modal.cjs.entry.js +7 -22
- package/dist/cjs/salla-review-factors-tags.cjs.entry.js +1 -1
- 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.cjs.entry.js +1 -1
- package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/salla-slider.cjs.entry.js +1 -1
- package/dist/cjs/salla-social-share.cjs.entry.js +4 -4
- package/dist/cjs/salla-social.cjs.entry.js +1 -1
- package/dist/cjs/salla-tab-content_3.cjs.entry.js +1 -1
- package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-settings.cjs.entry.js +1 -1
- package/dist/cjs/salla-verify.cjs.entry.js +3 -3
- package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
- package/dist/cjs/salla-wishlist-actions.cjs.entry.js +1 -1
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/cjs/{vanilla-picker-GTx-kpDm.js → vanilla-picker-DQDSSf6Q.js} +1 -1
- package/dist/collection/collection-manifest.json +12 -14
- package/dist/collection/components/salla-bullet-delivery/helpers.js +3 -0
- package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.js +82 -16
- package/dist/collection/components/salla-comments/interfaces.js +0 -12
- package/dist/collection/components/salla-comments/salla-comment-item.js +1 -1
- package/dist/collection/components/salla-comments/salla-comments.js +5 -38
- package/dist/collection/components/salla-delivery-promise/delivery-promise-api.js +1 -1
- package/dist/collection/components/salla-delivery-promise/delivery-promise-intent.js +9 -0
- package/dist/collection/components/salla-delivery-promise/salla-delivery-promise.js +10 -3
- package/dist/collection/components/salla-rating-modal/salla-rating-modal-v2.js +16 -119
- package/dist/collection/components/salla-rating-modal/salla-rating-modal.js +10 -69
- package/dist/components/helpers.js +319 -0
- package/dist/components/index.js +2 -2
- package/dist/components/salla-bullet-delivery.js +82 -327
- package/dist/components/salla-comment-item2.js +1 -1
- package/dist/components/salla-comments.js +1 -40
- package/dist/components/salla-delivery-promise.js +20 -4
- package/dist/components/salla-rating-modal-v22.js +12 -73
- package/dist/components/salla-rating-modal.js +591 -1
- package/dist/esm/{filepond-plugin-file-poster-BTU_WzVu.js → filepond-plugin-file-poster-CkWxCmZT.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-c_09APqP.js → filepond-plugin-file-validate-size-DlWS-oUK.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-Dz2Lgh8V.js → filepond-plugin-file-validate-type-mdpFM1TG.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-DK7eXs2p.js → filepond-plugin-image-edit-BqPLKgZU.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-DYBURwn_.js → filepond-plugin-image-exif-orientation-CMqFjPu7.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-4WNiH-ie.js → filepond-plugin-image-preview-DjCwk-CI.js} +1 -1
- package/dist/esm/{filepond-BcXR53L3.js → filepond-wd7_MQSV.js} +1 -1
- package/dist/esm/helpers-BDChq2t4.js +319 -0
- package/dist/esm/{index-BW1au-Nh.js → index-CHZfg_a9.js} +14 -14
- package/dist/esm/{intlTelInput-DvPcVtVG.js → intlTelInput-B5Q8rrU9.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{mail-DmgxDvXL.js → mail-DzAIgzdz.js} +2 -2
- package/dist/esm/salla-accordion-body_2.entry.js +1 -1
- package/dist/esm/salla-accordion_6.entry.js +1 -1
- package/dist/esm/salla-add-product-button_5.entry.js +1 -1
- 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-apps-icons.entry.js +1 -1
- package/dist/esm/salla-attachment-view_9.entry.js +10 -10
- 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_2.entry.js +83 -328
- package/dist/esm/salla-cart-coupons.entry.js +1 -1
- package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
- package/dist/esm/salla-cart-summary-card.entry.js +1 -1
- package/dist/esm/salla-cashback-banner.entry.js +1 -1
- package/dist/esm/salla-comment-factors.entry.js +1 -1
- package/dist/esm/{salla-comment-form_9.entry.js → salla-comment-form_8.entry.js} +4 -259
- package/dist/esm/salla-conditional-offer.entry.js +1 -1
- package/dist/esm/salla-contacts.entry.js +3 -3
- package/dist/esm/salla-cookies-bar.entry.js +1 -1
- package/dist/esm/salla-count-down.entry.js +1 -1
- package/dist/esm/salla-custom-fields.entry.js +1 -1
- package/dist/esm/salla-delivery-promise.entry.js +21 -5
- package/dist/esm/salla-edit-order-button.entry.js +1 -1
- package/dist/esm/salla-filters-widget.entry.js +1 -1
- package/dist/esm/salla-filters.entry.js +1 -1
- package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
- package/dist/esm/salla-gifting.entry.js +1 -1
- package/dist/esm/salla-hook.entry.js +1 -1
- package/dist/esm/salla-infinite-scroll.entry.js +1 -1
- package/dist/esm/salla-installment.entry.js +1 -1
- package/dist/esm/salla-list-tile.entry.js +1 -1
- package/dist/esm/salla-localization-modal.entry.js +1 -1
- package/dist/esm/salla-login-modal.entry.js +1 -1
- package/dist/esm/salla-loyalty-banner_10.entry.js +3 -3
- package/dist/esm/salla-loyalty-exchange-product-card.entry.js +1 -1
- package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
- package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
- package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm/salla-loyalty.entry.js +1 -1
- package/dist/esm/salla-maintenance-alert.entry.js +1 -1
- package/dist/esm/salla-map_2.entry.js +1 -1
- package/dist/esm/salla-menu.entry.js +1 -1
- package/dist/esm/salla-metadata.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-next-order-coupon.entry.js +1 -1
- package/dist/esm/salla-notification-item_2.entry.js +1 -1
- package/dist/esm/salla-offer-modal.entry.js +1 -1
- package/dist/esm/salla-offer.entry.js +1 -1
- package/dist/esm/salla-order-branch.entry.js +1 -1
- package/dist/esm/salla-order-cancel.entry.js +1 -1
- package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-order-details-options.entry.js +1 -1
- package/dist/esm/salla-order-details.entry.js +1 -1
- package/dist/esm/salla-order-edit-item.entry.js +1 -1
- package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
- package/dist/esm/salla-order-edit.entry.js +1 -1
- package/dist/esm/salla-order-options-modal_2.entry.js +1 -1
- package/dist/esm/salla-order-shipments.entry.js +1 -1
- package/dist/esm/salla-order-summary.entry.js +1 -1
- package/dist/esm/salla-order-totals-card.entry.js +1 -1
- package/dist/esm/salla-orders.entry.js +1 -1
- package/dist/esm/salla-payments.entry.js +1 -1
- package/dist/esm/salla-placeholder.entry.js +1 -1
- package/dist/esm/salla-price-range.entry.js +1 -1
- package/dist/esm/salla-product-card-embed.entry.js +1 -1
- package/dist/esm/salla-product-size-guide.entry.js +1 -1
- package/dist/esm/salla-products-list.entry.js +1 -1
- package/dist/esm/salla-products-slider.entry.js +1 -1
- package/dist/esm/salla-quick-order.entry.js +3 -3
- package/dist/esm/salla-rating-modal-v2.entry.js +14 -73
- package/dist/esm/salla-rating-modal.entry.js +7 -22
- package/dist/esm/salla-review-factors-tags.entry.js +1 -1
- 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.entry.js +1 -1
- package/dist/esm/salla-skeleton.entry.js +1 -1
- package/dist/esm/salla-slider.entry.js +1 -1
- package/dist/esm/salla-social-share.entry.js +4 -4
- package/dist/esm/salla-social.entry.js +1 -1
- package/dist/esm/salla-tab-content_3.entry.js +1 -1
- package/dist/esm/salla-tiered-offer.entry.js +1 -1
- package/dist/esm/salla-tooltip.entry.js +1 -1
- package/dist/esm/salla-trust-badges.entry.js +1 -1
- package/dist/esm/salla-user-menu.entry.js +1 -1
- package/dist/esm/salla-user-profile.entry.js +1 -1
- package/dist/esm/salla-user-settings.entry.js +1 -1
- package/dist/esm/salla-verify.entry.js +3 -3
- package/dist/esm/salla-wallet.entry.js +1 -1
- package/dist/esm/salla-wishlist-actions.entry.js +1 -1
- package/dist/esm/twilight.js +3 -3
- package/dist/esm/{vanilla-picker-CDk_knNu.js → vanilla-picker-uNDULydX.js} +1 -1
- package/dist/twilight/{p-df202b1d.entry.js → p-0495bfac.entry.js} +1 -1
- package/dist/twilight/{p-13dbbbdc.entry.js → p-0573a498.entry.js} +1 -1
- package/dist/twilight/{p-b89d8c3c.entry.js → p-06d9e1c5.entry.js} +1 -1
- package/dist/twilight/{p-b1dfc455.entry.js → p-0749cc55.entry.js} +1 -1
- package/dist/twilight/p-0ae39262.entry.js +4 -0
- package/dist/twilight/{p-de83979a.entry.js → p-12836275.entry.js} +1 -1
- package/dist/twilight/p-12f61ae1.entry.js +4 -0
- package/dist/twilight/{p-69f4a089.entry.js → p-1419a93d.entry.js} +1 -1
- package/dist/twilight/{p-baa06c65.entry.js → p-17d49c87.entry.js} +1 -1
- package/dist/twilight/{p-1282e22a.entry.js → p-1ea25389.entry.js} +1 -1
- package/dist/twilight/{p-80c11fae.entry.js → p-2305edcc.entry.js} +1 -1
- package/dist/twilight/{p-10534171.entry.js → p-235d7596.entry.js} +1 -1
- package/dist/twilight/{p-50c0b6fa.entry.js → p-25d9f1b2.entry.js} +1 -1
- package/dist/twilight/{p-16ccbce5.entry.js → p-25f51a7e.entry.js} +1 -1
- package/dist/twilight/{p-3c28560f.entry.js → p-279a1661.entry.js} +1 -1
- package/dist/twilight/{p-ac794ed6.entry.js → p-28248b6b.entry.js} +1 -1
- package/dist/twilight/{p-7afd066a.entry.js → p-2d01a4f5.entry.js} +1 -1
- package/dist/twilight/{p-66c7b9e4.entry.js → p-2d62c947.entry.js} +1 -1
- package/dist/twilight/{p-489d084c.entry.js → p-2db5e829.entry.js} +1 -1
- package/dist/twilight/{p-362792d6.entry.js → p-2de58591.entry.js} +1 -1
- package/dist/twilight/{p-16296dce.entry.js → p-32e3daa3.entry.js} +1 -1
- package/dist/twilight/{p-beb2110d.entry.js → p-345532e5.entry.js} +1 -1
- package/dist/twilight/{p-280e67f0.entry.js → p-346366ba.entry.js} +1 -1
- package/dist/twilight/{p-46399dc8.entry.js → p-35557962.entry.js} +1 -1
- package/dist/twilight/{p-d54acab0.entry.js → p-3672d4f7.entry.js} +1 -1
- package/dist/twilight/{p-315890b5.entry.js → p-37163aef.entry.js} +1 -1
- package/dist/twilight/{p-e184cd72.entry.js → p-391a2ec6.entry.js} +1 -1
- package/dist/twilight/{p-b2b818a5.entry.js → p-3a8be7df.entry.js} +1 -1
- package/dist/twilight/{p-ceb40475.entry.js → p-3f5bc617.entry.js} +1 -1
- package/dist/twilight/{p-cf4efddb.entry.js → p-419499d6.entry.js} +1 -1
- package/dist/twilight/{p-d018fc49.entry.js → p-4ac9a3b6.entry.js} +1 -1
- package/dist/twilight/{p-aa9fb9f5.entry.js → p-5074de7d.entry.js} +1 -1
- package/dist/twilight/{p-65a86613.entry.js → p-51a062cd.entry.js} +1 -1
- package/dist/twilight/p-54e2d320.entry.js +1024 -0
- package/dist/twilight/{p-84679cc1.entry.js → p-5933ba05.entry.js} +1 -1
- package/dist/twilight/{p-4b14e0f8.entry.js → p-5d9a85b0.entry.js} +1 -1
- package/dist/twilight/{p-d7a68f6c.entry.js → p-5ded000f.entry.js} +1 -1
- package/dist/twilight/{p-a3fdec51.entry.js → p-63b01300.entry.js} +1 -1
- package/dist/twilight/{p-677bcf4c.entry.js → p-64efbb2c.entry.js} +1 -1
- package/dist/twilight/{p-feb80402.entry.js → p-67b91397.entry.js} +1 -1
- package/dist/twilight/{p-9b1403fc.entry.js → p-69119c00.entry.js} +1 -1
- package/dist/twilight/{p-6e78ee63.entry.js → p-6c18cc72.entry.js} +1 -1
- package/dist/twilight/{p-1ba8fb02.entry.js → p-6d961d73.entry.js} +1 -1
- package/dist/twilight/{p-64f0c216.entry.js → p-6ff53523.entry.js} +1 -1
- package/dist/twilight/{p-75065cbf.entry.js → p-72ee7071.entry.js} +1 -1
- package/dist/twilight/{p-6d6618f8.entry.js → p-72f54055.entry.js} +1 -1
- package/dist/twilight/{p-3b9dcb0f.entry.js → p-74529abb.entry.js} +1 -1
- package/dist/twilight/{p-664d428e.entry.js → p-766a3291.entry.js} +1 -1
- package/dist/twilight/{p-d3692caf.entry.js → p-788fd019.entry.js} +1 -1
- package/dist/twilight/{p-a15b4245.entry.js → p-82fe9f82.entry.js} +1 -1
- package/dist/twilight/{p-f45f5f91.entry.js → p-832f3a98.entry.js} +1 -1
- package/dist/twilight/{p-89fe5237.entry.js → p-84380d4a.entry.js} +1 -1
- package/dist/twilight/{p-311a905b.entry.js → p-8780a467.entry.js} +1 -1
- package/dist/twilight/{p-7adefcd6.entry.js → p-87e10a68.entry.js} +1 -1
- package/dist/twilight/{p-3cfd4fcd.entry.js → p-88f50d7e.entry.js} +1 -1
- package/dist/twilight/{p-f0a04676.entry.js → p-8fc6e860.entry.js} +1 -1
- package/dist/twilight/{p-cc3a9188.entry.js → p-90e5c3ab.entry.js} +1 -1
- package/dist/twilight/{p-641cc01d.entry.js → p-93aa1b67.entry.js} +1 -1
- package/dist/twilight/{p-a4436d17.entry.js → p-93dabb47.entry.js} +1 -1
- package/dist/twilight/{p-07c013f9.entry.js → p-98108ebe.entry.js} +1 -1
- package/dist/twilight/{p-72960bb3.entry.js → p-989f2adb.entry.js} +1 -1
- package/dist/twilight/{p-4be8900d.entry.js → p-9d224252.entry.js} +1 -1
- package/dist/twilight/p-BDChq2t4.js +4 -0
- package/dist/twilight/{p-D9Y6HNvi.js → p-BPkSO6gd.js} +1 -1
- package/dist/twilight/{p-BUMDIRU5.js → p-BWvO3cE-.js} +1 -1
- package/dist/twilight/{p-BW1au-Nh.js → p-CHZfg_a9.js} +1 -1
- package/dist/twilight/{p-AncUY1nn.js → p-CdgES2Of.js} +1 -1
- package/dist/twilight/{p-DPMPVhgw.js → p-D9VjvNQq.js} +2 -2
- package/dist/twilight/{p-C6nX89oY.js → p-DO7S0QBX.js} +1 -1
- package/dist/twilight/{p-UDPL8zGN.js → p-DtV7npW9.js} +1 -1
- package/dist/twilight/{p-DmgxDvXL.js → p-DzAIgzdz.js} +1 -1
- package/dist/twilight/{p-UIEwOe70.js → p-PCp-0mbL.js} +1 -1
- package/dist/twilight/{p-BjS2Vb6h.js → p-ZinKLSYw.js} +1 -1
- package/dist/twilight/{p-1c82117c.entry.js → p-a0561bd1.entry.js} +1 -1
- package/dist/twilight/{p-1187210a.entry.js → p-a785b49f.entry.js} +1 -1
- package/dist/twilight/{p-13bf1c47.entry.js → p-aa4daadf.entry.js} +1 -1
- package/dist/twilight/p-ab41d26c.entry.js +4 -0
- package/dist/twilight/{p-87cc2e08.entry.js → p-afb03ee5.entry.js} +1 -1
- package/dist/twilight/{p-caa8d5ae.entry.js → p-b279e0bb.entry.js} +1 -1
- package/dist/twilight/{p-bcee5564.entry.js → p-b33392c6.entry.js} +1 -1
- package/dist/twilight/{p-e1eb70d2.entry.js → p-b38c4e39.entry.js} +1 -1
- package/dist/twilight/{p-26f8a482.entry.js → p-bead6e6f.entry.js} +1 -1
- package/dist/twilight/{p-8643930a.entry.js → p-c26043ff.entry.js} +1 -1
- package/dist/twilight/{p-a7a10dbf.entry.js → p-c287e498.entry.js} +1 -1
- package/dist/twilight/{p-87af932a.entry.js → p-c2fe2dbe.entry.js} +1 -1
- package/dist/twilight/{p-6d3a4c41.entry.js → p-c603722c.entry.js} +1 -1
- package/dist/twilight/{p-edebecb3.entry.js → p-c816b198.entry.js} +1 -1
- package/dist/twilight/{p-f3f9d1fb.entry.js → p-c81bce54.entry.js} +1 -1
- package/dist/twilight/{p-40555637.entry.js → p-c9146d50.entry.js} +1 -1
- package/dist/twilight/{p-5335f307.entry.js → p-c92edd6f.entry.js} +1 -1
- package/dist/twilight/{p-821aa95a.entry.js → p-c948a8a8.entry.js} +1 -1
- package/dist/twilight/{p-93c006fc.entry.js → p-d0d3609c.entry.js} +1 -1
- package/dist/twilight/{p-a38dc391.entry.js → p-d9b0fa64.entry.js} +1 -1
- package/dist/twilight/{p-534e7760.entry.js → p-dd823fde.entry.js} +1 -1
- package/dist/twilight/p-e36f62a9.entry.js +4 -0
- package/dist/twilight/{p-beaab93e.entry.js → p-e5a3b689.entry.js} +1 -1
- package/dist/twilight/{p-c7e980aa.entry.js → p-ec281904.entry.js} +1 -1
- package/dist/twilight/{p-68d6fa66.entry.js → p-f07bbbc7.entry.js} +1 -1
- package/dist/twilight/{p-3ad55c42.entry.js → p-f168109d.entry.js} +1 -1
- package/dist/twilight/{p-e8153a9a.entry.js → p-f1d8729d.entry.js} +1 -1
- package/dist/twilight/{p-2a8f1ed4.entry.js → p-f1dfe18b.entry.js} +1 -1
- package/dist/twilight/{p-c23f7b95.entry.js → p-fb1ad954.entry.js} +1 -1
- package/dist/twilight/{p-c214700a.entry.js → p-ffdf5f92.entry.js} +1 -1
- package/dist/twilight/{p-CMWS1gyZ.js → p-ryHWESoh.js} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-bullet-delivery/helpers.d.ts +1 -0
- package/dist/types/components/salla-bullet-delivery/interfaces.d.ts +14 -4
- package/dist/types/components/salla-bullet-delivery/salla-bullet-delivery.d.ts +2 -0
- package/dist/types/components/salla-comments/interfaces.d.ts +0 -15
- package/dist/types/components/salla-comments/salla-comments.d.ts +2 -5
- package/dist/types/components/salla-delivery-promise/delivery-promise-intent.d.ts +0 -4
- package/dist/types/components/salla-delivery-promise/interfaces.d.ts +2 -1
- package/dist/types/components/salla-rating-modal/salla-rating-modal-v2.d.ts +3 -16
- package/dist/types/components/salla-rating-modal/salla-rating-modal.d.ts +2 -10
- package/dist/types/components.d.ts +12 -45
- package/package.json +5 -5
- package/dist/collection/components/salla-verified-review/salla-verified-review.css +0 -162
- package/dist/collection/components/salla-verified-review/salla-verified-review.js +0 -264
- package/dist/components/salla-rating-modal2.js +0 -613
- package/dist/components/salla-verified-review.d.ts +0 -11
- package/dist/components/salla-verified-review.js +0 -325
- package/dist/twilight/p-03d77f90.entry.js +0 -4
- package/dist/twilight/p-4f052df8.entry.js +0 -4
- package/dist/twilight/p-a9674965.entry.js +0 -4
- package/dist/twilight/p-cbe760ce.entry.js +0 -4
- package/dist/twilight/p-e29f28eb.entry.js +0 -1019
- package/dist/types/components/salla-verified-review/salla-verified-review.d.ts +0 -51
|
@@ -1,322 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, c as createEvent, h as h$4, H as Host, a as getElement } from './index-
|
|
4
|
+
import { r as registerInstance, c as createEvent, h as h$4, H as Host, a as getElement } from './index-CHZfg_a9.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 buildAddressLocationPayloadFromSelection, o as clearApiCache, p as getIntentSubtitle, q as getIntentBranchId, i as isMapOriginIntent, s as isBranchSelectable, t as getIntentCountryCode } from './helpers-BDChq2t4.js';
|
|
5
6
|
import { L as Location } from './location-BO5AoBAP.js';
|
|
6
7
|
import { S as Search } from './search-BscTeWDc.js';
|
|
7
8
|
|
|
8
|
-
/**
|
|
9
|
-
* API Service for salla-bullet-delivery component
|
|
10
|
-
* Uses Salla's shipping API and scope API for delivery location management
|
|
11
|
-
*/
|
|
12
|
-
const API_LOG_PREFIX = 'BulletDeliveryAPI';
|
|
13
|
-
const validId = (id) => {
|
|
14
|
-
const n = id == null ? Number.NaN : Number(id);
|
|
15
|
-
return !Number.isNaN(n) && n !== 0;
|
|
16
|
-
};
|
|
17
|
-
async function withApiErrorHandling(fn, fallback, logLabel) {
|
|
18
|
-
try {
|
|
19
|
-
return await fn();
|
|
20
|
-
}
|
|
21
|
-
catch (error) {
|
|
22
|
-
console.error(`${API_LOG_PREFIX}: ${logLabel}`, error);
|
|
23
|
-
return fallback;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
const apiCache = new Map();
|
|
27
|
-
const CACHE_TTL = 5 * 60 * 1000;
|
|
28
|
-
function getCached(key) {
|
|
29
|
-
const entry = apiCache.get(key);
|
|
30
|
-
if (!entry || Date.now() - entry.timestamp > CACHE_TTL) {
|
|
31
|
-
apiCache.delete(key);
|
|
32
|
-
return null;
|
|
33
|
-
}
|
|
34
|
-
return entry.data;
|
|
35
|
-
}
|
|
36
|
-
function setCache(key, data) {
|
|
37
|
-
apiCache.set(key, { data, timestamp: Date.now() });
|
|
38
|
-
}
|
|
39
|
-
/** Uses country code from API (e.g. 'SA'). */
|
|
40
|
-
const isSaudiArabia = (countryCode) => String(countryCode).toUpperCase() === 'SA';
|
|
41
|
-
/**
|
|
42
|
-
* Fast Delivery API Service
|
|
43
|
-
* Uses Salla's shipping API and scopes API. Branch and address data are used as returned by the API (no mapping).
|
|
44
|
-
*/
|
|
45
|
-
const bulletDeliveryAPI = {
|
|
46
|
-
/**
|
|
47
|
-
* Get available countries from Salla shipping API
|
|
48
|
-
* @param forBranch - when true, use for_branch=1 (e.g. for pickup/branches tab)
|
|
49
|
-
*/
|
|
50
|
-
async getCountries(forBranch = false, query) {
|
|
51
|
-
const cacheKey = !query?.trim() ? `countries_${forBranch ? 1 : 0}` : null;
|
|
52
|
-
if (cacheKey) {
|
|
53
|
-
const cached = getCached(cacheKey);
|
|
54
|
-
if (cached)
|
|
55
|
-
return cached;
|
|
56
|
-
}
|
|
57
|
-
const result = await withApiErrorHandling(async () => {
|
|
58
|
-
const params = { for_branch: forBranch ? 1 : 0 };
|
|
59
|
-
if (forBranch) {
|
|
60
|
-
params.for_allocation = 1;
|
|
61
|
-
}
|
|
62
|
-
if (query?.trim())
|
|
63
|
-
params.query = query.trim();
|
|
64
|
-
const data = (await salla.api.request("shipping/countries", { params }))?.data ?? [];
|
|
65
|
-
return data.map((c) => ({ id: c.id, code: c.code, name: c.name, has_regions: isSaudiArabia(c.code) }));
|
|
66
|
-
}, [], 'Error getting countries');
|
|
67
|
-
if (cacheKey && result.length > 0)
|
|
68
|
-
setCache(cacheKey, result);
|
|
69
|
-
return result;
|
|
70
|
-
},
|
|
71
|
-
/**
|
|
72
|
-
* Get regions for a country from Salla shipping API
|
|
73
|
-
* Endpoint: GET /shipping/countries/<COUNTRY_ID>/region
|
|
74
|
-
*/
|
|
75
|
-
async getRegions(countryId, query) {
|
|
76
|
-
if (!validId(countryId)) {
|
|
77
|
-
console.warn(`${API_LOG_PREFIX}: getRegions called without valid country_id`);
|
|
78
|
-
return [];
|
|
79
|
-
}
|
|
80
|
-
const cacheKey = !query?.trim() ? `regions_${countryId}` : null;
|
|
81
|
-
if (cacheKey) {
|
|
82
|
-
const cached = getCached(cacheKey);
|
|
83
|
-
if (cached)
|
|
84
|
-
return cached;
|
|
85
|
-
}
|
|
86
|
-
const result = await withApiErrorHandling(async () => {
|
|
87
|
-
const params = {};
|
|
88
|
-
if (query?.trim())
|
|
89
|
-
params.query = query.trim();
|
|
90
|
-
const data = (await salla.api.request(`shipping/countries/${countryId}/regions`, { params }))?.data ?? [];
|
|
91
|
-
return data.map((r) => ({ id: r.id, name: r.name, code: r.code, country_id: Number(countryId) }));
|
|
92
|
-
}, [], 'Error fetching regions');
|
|
93
|
-
if (cacheKey && result.length > 0)
|
|
94
|
-
setCache(cacheKey, result);
|
|
95
|
-
return result;
|
|
96
|
-
},
|
|
97
|
-
/**
|
|
98
|
-
* Get cities from Salla shipping API
|
|
99
|
-
* @param regionId - Optional; when provided (e.g. for SA), cities are filtered by region
|
|
100
|
-
*/
|
|
101
|
-
async getCities(countryId, regionId, query) {
|
|
102
|
-
if (!validId(countryId)) {
|
|
103
|
-
console.warn(`${API_LOG_PREFIX}: getCities called without valid country_id`);
|
|
104
|
-
return [];
|
|
105
|
-
}
|
|
106
|
-
const cacheKey = !query?.trim() ? `cities_${countryId}_${regionId || 'all'}` : null;
|
|
107
|
-
if (cacheKey) {
|
|
108
|
-
const cached = getCached(cacheKey);
|
|
109
|
-
if (cached)
|
|
110
|
-
return cached;
|
|
111
|
-
}
|
|
112
|
-
const result = await withApiErrorHandling(async () => {
|
|
113
|
-
const params = { for_branch: 0, country_id: countryId };
|
|
114
|
-
if (regionId)
|
|
115
|
-
params.region_id = regionId;
|
|
116
|
-
if (query?.trim())
|
|
117
|
-
params.query = query.trim();
|
|
118
|
-
const data = (await salla.api.request("shipping/cities", { params }))?.data ?? [];
|
|
119
|
-
return data.map((c) => ({ id: c.id, name: c.name, country_id: countryId, ...(c.region_id != null && { region_id: c.region_id }) }));
|
|
120
|
-
}, [], 'Error fetching cities');
|
|
121
|
-
if (cacheKey && result.length > 0)
|
|
122
|
-
setCache(cacheKey, result);
|
|
123
|
-
return result;
|
|
124
|
-
},
|
|
125
|
-
/**
|
|
126
|
-
* Get districts from Salla shipping API
|
|
127
|
-
*/
|
|
128
|
-
async getDistricts(cityId, query) {
|
|
129
|
-
if (!validId(cityId)) {
|
|
130
|
-
console.warn(`${API_LOG_PREFIX}: getDistricts called without valid city_id`);
|
|
131
|
-
return [];
|
|
132
|
-
}
|
|
133
|
-
return withApiErrorHandling(async () => {
|
|
134
|
-
const params = { for_branch: 0, city_id: cityId };
|
|
135
|
-
if (query?.trim())
|
|
136
|
-
params.query = query.trim();
|
|
137
|
-
const raw = (await salla.api.request("shipping/districts", { params }))?.data;
|
|
138
|
-
const list = Array.isArray(raw) ? raw : (Array.isArray(raw?.districts) ? raw.districts : []);
|
|
139
|
-
return list.map((d) => ({ id: d.id, name: d.name, name_en: d.name_en, city_id: cityId }));
|
|
140
|
-
}, [], 'Error fetching districts');
|
|
141
|
-
},
|
|
142
|
-
async getSavedAddresses() {
|
|
143
|
-
return withApiErrorHandling(async () => {
|
|
144
|
-
const data = (await salla.api.request("address"))?.data;
|
|
145
|
-
return Array.isArray(data) ? data : [];
|
|
146
|
-
}, [], 'Error fetching user addresses');
|
|
147
|
-
},
|
|
148
|
-
async getBranches({ query, lat, lng, country_id, per_page = 20 } = {}) {
|
|
149
|
-
const hasSearchParams = query?.trim()?.length >= 2 || lat || lng;
|
|
150
|
-
const cacheKey = !hasSearchParams && country_id ? `branches_${country_id}` : null;
|
|
151
|
-
if (cacheKey) {
|
|
152
|
-
const cached = getCached(cacheKey);
|
|
153
|
-
if (cached)
|
|
154
|
-
return cached;
|
|
155
|
-
}
|
|
156
|
-
const result = await withApiErrorHandling(async () => {
|
|
157
|
-
const params = { per_page };
|
|
158
|
-
if (query?.trim().length >= 2)
|
|
159
|
-
params.query = query;
|
|
160
|
-
if (lat)
|
|
161
|
-
params.lat = lat;
|
|
162
|
-
if (lng)
|
|
163
|
-
params.lng = lng;
|
|
164
|
-
if (country_id)
|
|
165
|
-
params.country_id = country_id;
|
|
166
|
-
const res = await salla.api.request("branches", { params });
|
|
167
|
-
return (Array.isArray(res?.data) ? res.data : []);
|
|
168
|
-
}, [], 'Error fetching branches');
|
|
169
|
-
if (cacheKey && result.length > 0)
|
|
170
|
-
setCache(cacheKey, result);
|
|
171
|
-
return result;
|
|
172
|
-
},
|
|
173
|
-
async saveAddressLocation(payload) {
|
|
174
|
-
return withApiErrorHandling(async () => {
|
|
175
|
-
const res = await salla.api.request('address/location', { ...payload, for_allocation: true }, 'post');
|
|
176
|
-
const data = res?.data ?? res;
|
|
177
|
-
const address = typeof data === 'object' && data != null && 'id' in data ? data : undefined;
|
|
178
|
-
return { success: true, address };
|
|
179
|
-
}, { success: false }, 'Error saving address/location');
|
|
180
|
-
},
|
|
181
|
-
async setDeliveryScope(scopeId) {
|
|
182
|
-
return withApiErrorHandling(async () => {
|
|
183
|
-
await salla.api.withoutNotifier(() => salla.scope.change({ id: scopeId }));
|
|
184
|
-
salla.storage.set("scope", { ...(salla.storage.get("scope") || {}), id: scopeId });
|
|
185
|
-
return true;
|
|
186
|
-
}, false, 'Error setting delivery scope');
|
|
187
|
-
},
|
|
188
|
-
async allocateScope(payload) {
|
|
189
|
-
const errMsg = (d) => d?.error?.message ?? d?.message ?? 'Failed to allocate scope';
|
|
190
|
-
try {
|
|
191
|
-
const response = await salla.api.withoutNotifier(() => salla.api.request("scopes/allocation", payload, 'post'));
|
|
192
|
-
// SDK resolves with { data } and throws on non-2xx; any resolved value is success
|
|
193
|
-
const data = response?.data ?? response;
|
|
194
|
-
return { success: true, data: data };
|
|
195
|
-
}
|
|
196
|
-
catch (error) {
|
|
197
|
-
console.error(`${API_LOG_PREFIX}: Error allocating scope`, error);
|
|
198
|
-
const err = error;
|
|
199
|
-
return { success: false, error: err?.response?.data != null ? errMsg(err.response.data) : (err?.message ?? 'Unknown error') };
|
|
200
|
-
}
|
|
201
|
-
},
|
|
202
|
-
async getAddressToken() {
|
|
203
|
-
return withApiErrorHandling(async () => {
|
|
204
|
-
const res = await salla.api.request('address/autocomplete-token');
|
|
205
|
-
return res?.data?.token ?? null;
|
|
206
|
-
}, null, 'Error fetching address autocomplete token');
|
|
207
|
-
},
|
|
208
|
-
};
|
|
209
|
-
function clearApiCache() {
|
|
210
|
-
apiCache.clear();
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
/**
|
|
214
|
-
* Helper functions for salla-bullet-delivery component
|
|
215
|
-
*/
|
|
216
|
-
const EARTH_RADIUS_KM = 6371;
|
|
217
|
-
const deg2rad = (deg) => deg * (Math.PI / 180);
|
|
218
|
-
/** Haversine distance in km */
|
|
219
|
-
function calculateDistance(lat1, lon1, lat2, lon2) {
|
|
220
|
-
const dLat = deg2rad(lat2 - lat1);
|
|
221
|
-
const dLon = deg2rad(lon2 - lon1);
|
|
222
|
-
const a = Math.sin(dLat / 2) ** 2 +
|
|
223
|
-
Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * Math.sin(dLon / 2) ** 2;
|
|
224
|
-
return EARTH_RADIUS_KM * 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
|
|
225
|
-
}
|
|
226
|
-
/**
|
|
227
|
-
* Whether a pickup branch can be selected.
|
|
228
|
-
*
|
|
229
|
-
* `pickup_readiness` is the richer, backend-computed verdict (INV-357) and wins whenever the API
|
|
230
|
-
* sends it. Not every store's `GET /branches` returns it though, so we fall back to the original
|
|
231
|
-
* `is_open` rule instead of treating a missing object as "not selectable" — otherwise every branch
|
|
232
|
-
* in the list renders disabled and pickup cannot be chosen at all (SP-22202).
|
|
233
|
-
*/
|
|
234
|
-
const isBranchSelectable = (branch) => {
|
|
235
|
-
if (!branch)
|
|
236
|
-
return false;
|
|
237
|
-
const selectable = branch.pickup_readiness?.selectable;
|
|
238
|
-
return typeof selectable === 'boolean' ? selectable : branch.is_open !== false;
|
|
239
|
-
};
|
|
240
|
-
/** Nearest available branch by distance; single pass O(n). */
|
|
241
|
-
function findNearestBranch(branches, userLat, userLon) {
|
|
242
|
-
let nearest = null;
|
|
243
|
-
let minD = Number.POSITIVE_INFINITY;
|
|
244
|
-
for (const b of branches) {
|
|
245
|
-
const lat = b.location?.lat != null ? Number(b.location.lat) : Number.NaN;
|
|
246
|
-
const lng = b.location?.lng != null ? Number(b.location.lng) : Number.NaN;
|
|
247
|
-
if (Number.isNaN(lat) || Number.isNaN(lng) || b.is_open === false)
|
|
248
|
-
continue;
|
|
249
|
-
const d = calculateDistance(userLat, userLon, lat, lng);
|
|
250
|
-
if (d < minD) {
|
|
251
|
-
minD = d;
|
|
252
|
-
nearest = b;
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
return nearest;
|
|
256
|
-
}
|
|
257
|
-
const filterBranches = (branches, searchQuery) => {
|
|
258
|
-
if (!searchQuery)
|
|
259
|
-
return branches;
|
|
260
|
-
const q = searchQuery.toLowerCase();
|
|
261
|
-
return branches.filter((b) => b.name.toLowerCase().includes(q) || b.city?.name?.toLowerCase().includes(q));
|
|
262
|
-
};
|
|
263
|
-
const getIntentSubtitle = (intent, toAddress, fromBranch) => {
|
|
264
|
-
if (intent.type === 'branch') {
|
|
265
|
-
const loc = intent.branch_details?.city ?? intent.branch_details?.name;
|
|
266
|
-
return loc ? `${fromBranch} ${loc}`.trim() : '';
|
|
267
|
-
}
|
|
268
|
-
if (intent.type === 'address' && intent.address_details) {
|
|
269
|
-
const addr = [intent.address_details.district?.name, intent.address_details.city?.name, intent.address_details.country?.name].filter(Boolean).join('، ') || intent.address_details.short_address || '';
|
|
270
|
-
return addr ? `${toAddress} ${addr}`.trim() : '';
|
|
271
|
-
}
|
|
272
|
-
return '';
|
|
273
|
-
};
|
|
274
|
-
const idFrom = (val) => (val != null ? Number(val) : undefined);
|
|
275
|
-
const getIntentCountryId = (i) => idFrom(i?.address_details?.country?.id);
|
|
276
|
-
const getIntentCountryCode = (i) => i?.country_code ?? i?.address_details?.country?.code ?? '';
|
|
277
|
-
const getIntentRegionId = (i) => idFrom(i?.address_details?.region?.id);
|
|
278
|
-
const getIntentCityId = (i) => idFrom(i?.address_details?.city?.id);
|
|
279
|
-
const getIntentDistrictId = (i) => idFrom(i?.address_details?.district?.id);
|
|
280
|
-
const getIntentBranchId = (i) => i?.branch_details?.id;
|
|
281
|
-
/** Intent coordinates (branch tab only; address flow no longer uses coordinates). */
|
|
282
|
-
const getIntentLatitude = (i) => i?.branch_details?.latitude;
|
|
283
|
-
const getIntentLongitude = (i) => i?.branch_details?.longitude;
|
|
284
|
-
const hasSessionAddressIntent = (intent) => {
|
|
285
|
-
if (!intent || intent.type !== 'address' || intent.address_id)
|
|
286
|
-
return false;
|
|
287
|
-
const c = getIntentCountryId(intent);
|
|
288
|
-
const city = getIntentCityId(intent);
|
|
289
|
-
const d = getIntentDistrictId(intent);
|
|
290
|
-
const code = getIntentCountryCode(intent);
|
|
291
|
-
const hasDistrictId = d != null && Number(d) !== 0;
|
|
292
|
-
const hasDistrictName = Boolean(intent.address_details?.district?.name?.trim());
|
|
293
|
-
const districtOk = !isSaudiArabia(code) || hasDistrictId || hasDistrictName;
|
|
294
|
-
return !!(c && city && districtOk);
|
|
295
|
-
};
|
|
296
|
-
const requireRegionAndDistrictForSA = (countryCode, regionId, districtIdOrName) => !countryCode || !isSaudiArabia(countryCode)
|
|
297
|
-
? true
|
|
298
|
-
: (regionId != null && Number(regionId) !== 0) && (districtIdOrName != null && (typeof districtIdOrName === 'number' ? districtIdOrName !== 0 : String(districtIdOrName).trim().length > 0));
|
|
299
|
-
function buildAddressLocationPayloadFromSelection(options) {
|
|
300
|
-
const { countryId, countryCode, regionId, cityId, districtId, description = '', lat, lng, shortAddress } = options;
|
|
301
|
-
const desc = description || '';
|
|
302
|
-
return {
|
|
303
|
-
country_id: Number(countryId) || undefined,
|
|
304
|
-
region_id: regionId != null ? Number(regionId) : undefined,
|
|
305
|
-
city_id: cityId != null ? Number(cityId) : undefined,
|
|
306
|
-
district_id: districtId != null ? Number(districtId) : undefined,
|
|
307
|
-
description: desc,
|
|
308
|
-
...(countryCode && isSaudiArabia(countryCode) && { local: desc }),
|
|
309
|
-
...(lat != null && lng != null && { lat, lng }),
|
|
310
|
-
...(shortAddress && { short_address: shortAddress }),
|
|
311
|
-
};
|
|
312
|
-
}
|
|
313
|
-
const GEO_ERROR_MESSAGES = {
|
|
314
|
-
[GeolocationPositionError.PERMISSION_DENIED]: 'Location permission denied',
|
|
315
|
-
[GeolocationPositionError.POSITION_UNAVAILABLE]: 'Location unavailable',
|
|
316
|
-
[GeolocationPositionError.TIMEOUT]: 'Location timeout',
|
|
317
|
-
};
|
|
318
|
-
const getGeolocationErrorMessage = (errorCode) => GEO_ERROR_MESSAGES[errorCode] ?? 'An error occurred while detecting location';
|
|
319
|
-
|
|
320
9
|
/**
|
|
321
10
|
* @license
|
|
322
11
|
* Copyright 2019 Google LLC
|
|
@@ -5809,6 +5498,9 @@ const SallaBulletDelivery = class {
|
|
|
5809
5498
|
? `${address.district.name}، ${address.city.name}`
|
|
5810
5499
|
: (address.city?.name ?? "");
|
|
5811
5500
|
}
|
|
5501
|
+
else if (this.isGuestMapPick) {
|
|
5502
|
+
locationText = result.address_details?.formatted_address ?? "";
|
|
5503
|
+
}
|
|
5812
5504
|
else if (this.selectedCity) {
|
|
5813
5505
|
locationText = this.selectedDistrict
|
|
5814
5506
|
? `${this.selectedDistrict.name}، ${this.selectedCity.name}`
|
|
@@ -5817,11 +5509,14 @@ const SallaBulletDelivery = class {
|
|
|
5817
5509
|
else if (result.address_details) {
|
|
5818
5510
|
const parts = [
|
|
5819
5511
|
result.address_details.district?.name,
|
|
5820
|
-
result.address_details.city
|
|
5821
|
-
result.address_details.country
|
|
5512
|
+
result.address_details.city?.name,
|
|
5513
|
+
result.address_details.country?.name,
|
|
5822
5514
|
].filter(Boolean);
|
|
5823
5515
|
locationText =
|
|
5824
|
-
parts.join("، ") ||
|
|
5516
|
+
parts.join("، ") ||
|
|
5517
|
+
result.address_details.formatted_address ||
|
|
5518
|
+
result.address_details.short_address ||
|
|
5519
|
+
"";
|
|
5825
5520
|
}
|
|
5826
5521
|
}
|
|
5827
5522
|
else if (branch) {
|
|
@@ -6097,6 +5792,10 @@ const SallaBulletDelivery = class {
|
|
|
6097
5792
|
get isMapModeAvailable() {
|
|
6098
5793
|
return this.isMapSettingEnabled && !!salla.config.get('store.settings.keys.maps') && !!this.addressToken;
|
|
6099
5794
|
}
|
|
5795
|
+
/** Guest is in map mode and has already dropped a pin (as opposed to still using the dropdowns). */
|
|
5796
|
+
get isGuestMapPick() {
|
|
5797
|
+
return !this.isLoggedIn && this.isMapModeAvailable && this.hasMapLocation();
|
|
5798
|
+
}
|
|
6100
5799
|
/** Center shown before geolocation resolves — the customer's IP-based default (falls back to Riyadh). */
|
|
6101
5800
|
get mapInitialCenter() {
|
|
6102
5801
|
const geo = salla.config.get('user.default_geo_location');
|
|
@@ -6237,6 +5936,10 @@ const SallaBulletDelivery = class {
|
|
|
6237
5936
|
if (this.isLoggedIn && this.selectedSavedAddress) {
|
|
6238
5937
|
return this.selectedSavedAddress.is_in_coverage === false;
|
|
6239
5938
|
}
|
|
5939
|
+
// Guest map pick: a pin is the only requirement, independent of any incidental dropdown state.
|
|
5940
|
+
if (!this.isLoggedIn && this.isMapModeAvailable) {
|
|
5941
|
+
return !this.isGuestMapPick;
|
|
5942
|
+
}
|
|
6240
5943
|
// Guest: require country + city; for SA require region + district
|
|
6241
5944
|
if (!this.selectedCountry || !this.selectedCity)
|
|
6242
5945
|
return true;
|
|
@@ -6262,9 +5965,26 @@ const SallaBulletDelivery = class {
|
|
|
6262
5965
|
resolve();
|
|
6263
5966
|
}
|
|
6264
5967
|
buildIntentAddress() {
|
|
6265
|
-
if (this.activeTab !== "address"
|
|
6266
|
-
|
|
6267
|
-
|
|
5968
|
+
if (this.activeTab !== "address")
|
|
5969
|
+
return undefined;
|
|
5970
|
+
if (this.isGuestMapPick && this.mapLocationData) {
|
|
5971
|
+
const { lat, lng, formattedAddress, shortAddress } = this.mapLocationData;
|
|
5972
|
+
return {
|
|
5973
|
+
country: this.selectedCountry
|
|
5974
|
+
? {
|
|
5975
|
+
id: this.selectedCountry.id,
|
|
5976
|
+
name: this.selectedCountry.name,
|
|
5977
|
+
code: this.selectedCountry.code,
|
|
5978
|
+
}
|
|
5979
|
+
: undefined,
|
|
5980
|
+
lat,
|
|
5981
|
+
lng,
|
|
5982
|
+
formatted_address: formattedAddress,
|
|
5983
|
+
place_id: shortAddress,
|
|
5984
|
+
description: this.addressDescription?.trim() || undefined,
|
|
5985
|
+
};
|
|
5986
|
+
}
|
|
5987
|
+
if (!this.selectedCountry || !this.selectedCity) {
|
|
6268
5988
|
return undefined;
|
|
6269
5989
|
}
|
|
6270
5990
|
const country = {
|
|
@@ -6343,6 +6063,9 @@ const SallaBulletDelivery = class {
|
|
|
6343
6063
|
district_name: this.districtName?.trim() || undefined,
|
|
6344
6064
|
short_address: selectedAddress?.short_address ?? this.selectedSavedAddress?.short_address,
|
|
6345
6065
|
form_data: { ...this.newAddressForm },
|
|
6066
|
+
lat: this.mapLocationData?.lat,
|
|
6067
|
+
lng: this.mapLocationData?.lng,
|
|
6068
|
+
formatted_address: this.mapLocationData?.formattedAddress,
|
|
6346
6069
|
};
|
|
6347
6070
|
}
|
|
6348
6071
|
/**
|
|
@@ -6550,6 +6273,13 @@ const SallaBulletDelivery = class {
|
|
|
6550
6273
|
}
|
|
6551
6274
|
else {
|
|
6552
6275
|
result.address_details = this.buildIntentAddress();
|
|
6276
|
+
if (this.isGuestMapPick) {
|
|
6277
|
+
// Guest + map pin: defer to login instead of the blocked guest allocation (422, SHPD-9558).
|
|
6278
|
+
this.setStoredIntent(result);
|
|
6279
|
+
this.confirmBtn?.stop();
|
|
6280
|
+
this.handleLogin();
|
|
6281
|
+
return;
|
|
6282
|
+
}
|
|
6553
6283
|
}
|
|
6554
6284
|
}
|
|
6555
6285
|
else {
|
|
@@ -6568,7 +6298,7 @@ const SallaBulletDelivery = class {
|
|
|
6568
6298
|
};
|
|
6569
6299
|
}
|
|
6570
6300
|
else {
|
|
6571
|
-
// Case 1: Guest user or logged-in user without saved address
|
|
6301
|
+
// Case 1: Guest user (dropdown selection) or logged-in user without saved address
|
|
6572
6302
|
allocationPayload = {
|
|
6573
6303
|
type: "address",
|
|
6574
6304
|
country_id: String(this.selectedCountry?.id || 0),
|
|
@@ -6805,6 +6535,28 @@ const SallaBulletDelivery = class {
|
|
|
6805
6535
|
*/
|
|
6806
6536
|
async saveSessionAddressToProfile() {
|
|
6807
6537
|
const intent = this.getStoredIntent();
|
|
6538
|
+
if (isMapOriginIntent(intent)) {
|
|
6539
|
+
const details = intent.address_details;
|
|
6540
|
+
const payload = {
|
|
6541
|
+
lat: details.lat,
|
|
6542
|
+
lng: details.lng,
|
|
6543
|
+
...(details.place_id && { short_address: details.place_id }),
|
|
6544
|
+
...(details.description && { description: details.description }),
|
|
6545
|
+
};
|
|
6546
|
+
try {
|
|
6547
|
+
const { success, address } = await bulletDeliveryAPI.saveAddressLocation(payload);
|
|
6548
|
+
if (!success || !address)
|
|
6549
|
+
return null;
|
|
6550
|
+
// Persist address_id immediately to avoid duplicate creation on retry.
|
|
6551
|
+
this.setStoredIntent({ ...intent, address_id: address.id });
|
|
6552
|
+
this.addressCreated.emit({ address });
|
|
6553
|
+
return address;
|
|
6554
|
+
}
|
|
6555
|
+
catch (error) {
|
|
6556
|
+
console.error("SallaBulletDelivery: Error saving session address (map)", error);
|
|
6557
|
+
return null;
|
|
6558
|
+
}
|
|
6559
|
+
}
|
|
6808
6560
|
const countryId = getIntentCountryId(intent);
|
|
6809
6561
|
const cityId = getIntentCityId(intent);
|
|
6810
6562
|
const districtId = getIntentDistrictId(intent);
|
|
@@ -6848,12 +6600,15 @@ const SallaBulletDelivery = class {
|
|
|
6848
6600
|
}
|
|
6849
6601
|
const intent = this.getStoredIntent();
|
|
6850
6602
|
const hasSessionAddress = hasSessionAddressIntent(intent);
|
|
6603
|
+
const isMapSession = isMapOriginIntent(intent);
|
|
6851
6604
|
const sessionLine1 = hasSessionAddress && intent?.address_details
|
|
6852
|
-
?
|
|
6853
|
-
.
|
|
6854
|
-
.
|
|
6605
|
+
? isMapSession
|
|
6606
|
+
? (intent.address_details.formatted_address ?? "")
|
|
6607
|
+
: [intent.address_details.city?.name, intent.address_details.country?.name]
|
|
6608
|
+
.filter(Boolean)
|
|
6609
|
+
.join("، ") || ""
|
|
6855
6610
|
: "";
|
|
6856
|
-
const sessionLine2 = hasSessionAddress && intent?.address_details
|
|
6611
|
+
const sessionLine2 = hasSessionAddress && intent?.address_details && !isMapSession
|
|
6857
6612
|
? (intent.address_details.district?.name ?? "").trim()
|
|
6858
6613
|
: "";
|
|
6859
6614
|
if (this.savedAddresses.length === 0 && !hasSessionAddress) {
|
|
@@ -6949,7 +6704,7 @@ const SallaBulletDelivery = class {
|
|
|
6949
6704
|
const isConfirmStep = this.mapStep === 'confirm' && hasMapLoc;
|
|
6950
6705
|
const canAdvanceToConfirm = this.canConfirmMapLocation();
|
|
6951
6706
|
const submitLabel = isConfirmStep
|
|
6952
|
-
? (this.
|
|
6707
|
+
? (this.confirming
|
|
6953
6708
|
? Salla.lang.get("pages.checkout.loading")
|
|
6954
6709
|
: Salla.lang.get("pages.checkout.confirm_address"))
|
|
6955
6710
|
: Salla.lang.get('pages.checkout.confirm_location');
|
|
@@ -6959,9 +6714,9 @@ const SallaBulletDelivery = class {
|
|
|
6959
6714
|
this.mapStep = 'confirm';
|
|
6960
6715
|
return;
|
|
6961
6716
|
}
|
|
6962
|
-
this.
|
|
6717
|
+
this.handleConfirm();
|
|
6963
6718
|
};
|
|
6964
|
-
return (h$4("form", { onSubmit: handleSubmit }, this.renderGuestDeliveryForm(), h$4("div", { class: "s-bullet-delivery-form-actions s-bullet-delivery-form-actions--single", style: { padding: '24px' } }, h$4("salla-button", { type: "submit", loading: this.
|
|
6719
|
+
return (h$4("form", { onSubmit: handleSubmit }, this.renderGuestDeliveryForm(), h$4("div", { class: "s-bullet-delivery-form-actions s-bullet-delivery-form-actions--single", style: { padding: '24px' } }, h$4("salla-button", { type: "submit", loading: this.confirming, disabled: isConfirmStep ? this.confirming : !canAdvanceToConfirm, width: "wide" }, submitLabel), !this.isLoggedIn && (h$4("button", { type: "button", class: "s-bullet-delivery-login-prompt", onClick: () => this.handleLogin() }, Salla.lang.get('pages.checkout.login_to_use_saved_addresses'))))));
|
|
6965
6720
|
}
|
|
6966
6721
|
renderBranchSearch() {
|
|
6967
6722
|
return (h$4("div", { class: "s-bullet-delivery-branch-search" }, h$4("div", { class: "s-bullet-delivery-search-row" }, h$4("div", { class: "s-bullet-delivery-search s-bullet-delivery-branch-search-wrap" }, h$4("span", { class: "s-bullet-delivery-search-icon s-bullet-delivery-branch-search-icon", innerHTML: Search, "aria-hidden": "true" }), h$4("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$4("button", { type: "button", class: {
|
|
@@ -7056,7 +6811,7 @@ const SallaBulletDelivery = class {
|
|
|
7056
6811
|
this.confirmBtn = btn;
|
|
7057
6812
|
}, disabled: this.isConfirmDisabled(), onClick: () => this.handleConfirm(), "loader-position": "center", width: "wide" }, this.activeTab === "branch"
|
|
7058
6813
|
? Salla.lang.get("pages.checkout.confirm_receipt_from_the_branch")
|
|
7059
|
-
: Salla.lang.get("pages.checkout.confirm_address")), showAddAddressInFooter && (h$4("salla-button", { onClick: () => this.handleAddNewAddress(), width: "wide", shape: "link" }, Salla.lang.get("pages.checkout.add_new_address"))), !this.isLoggedIn && (h$4("salla-button", { shape: "link", onClick: this.handleLogin }, Salla.lang.get("pages.checkout.login_to_use_saved_addresses")))));
|
|
6814
|
+
: Salla.lang.get("pages.checkout.confirm_address")), showAddAddressInFooter && (h$4("salla-button", { onClick: () => this.handleAddNewAddress(), width: "wide", shape: "link" }, Salla.lang.get("pages.checkout.add_new_address"))), !this.isLoggedIn && (h$4("salla-button", { shape: "link", onClick: () => this.handleLogin() }, Salla.lang.get("pages.checkout.login_to_use_saved_addresses")))));
|
|
7060
6815
|
}
|
|
7061
6816
|
renderMainView() {
|
|
7062
6817
|
const isAddressEmptyState = this.isLoggedIn &&
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, h, H as Host, a as getElement } from './index-
|
|
4
|
+
import { r as registerInstance, h, H as Host, a as getElement } from './index-CHZfg_a9.js';
|
|
5
5
|
|
|
6
6
|
const sallaCartCouponsCss = "/*!twlt*/.s-cart-coupons-applied-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.s-cart-coupons-applied-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;border-inline-start:3px solid #10b981}.s-cart-coupons-applied-code{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#111827}.s-cart-coupons-applied-code::before{content:\"\";width:7px;height:7px;border-radius:9999px;background:#10b981}.s-cart-coupons-applied-remove{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;color:#ef4444;background:transparent;border:0;border-radius:9999px;cursor:pointer;transition:background-color 0.15s ease, color 0.15s ease}.s-cart-coupons-applied-remove:hover{background:#fef2f2}.s-cart-coupons-applied-remove:disabled{opacity:0.5;cursor:not-allowed}.visible{visibility:visible}.fixed{position:fixed}.shrink{flex-shrink:1}.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)}.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}}.s-cart-coupons-wrapper{display:block;width:100%;padding-top:1.25rem;padding-bottom:1.25rem}.s-cart-coupons-input-section{margin-bottom:0.625rem}.s-cart-coupons-coupon-label{margin-bottom:0.625rem;display:block;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-cart-coupons-coupon-input-container{position:relative;display:flex;align-items:stretch}.s-cart-coupons-coupon-input-container .form-input{height:auto;flex:1 1 0%}.s-cart-coupons-coupon-input-container .form-input:where([dir=\"ltr\"],[dir=\"ltr\"] *){border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem;border-top-right-radius:0px !important;border-bottom-right-radius:0px !important;border-right-width:0px}.s-cart-coupons-coupon-input-container .form-input:where([dir=\"rtl\"],[dir=\"rtl\"] *){border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem;border-top-left-radius:0px !important;border-bottom-left-radius:0px !important;border-left-width:0px}.s-cart-coupons-coupon-input-container .form-input:focus{position:relative;z-index:10}.s-cart-coupons-coupon-button:where([dir=\"ltr\"],[dir=\"ltr\"] *){border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem;border-top-left-radius:0px;border-bottom-left-radius:0px}.s-cart-coupons-coupon-button:where([dir=\"rtl\"],[dir=\"rtl\"] *){border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem;border-top-right-radius:0px;border-bottom-right-radius:0px}.s-cart-coupons-coupon-button-remove:where([dir=\"ltr\"],[dir=\"ltr\"] *){border-top-right-radius:0.5rem;border-bottom-right-radius:0.5rem;border-top-left-radius:0px !important;border-bottom-left-radius:0px !important}.s-cart-coupons-coupon-button-remove:where([dir=\"rtl\"],[dir=\"rtl\"] *){border-top-left-radius:0.5rem;border-bottom-left-radius:0.5rem;border-top-right-radius:0px !important;border-bottom-right-radius:0px !important}.s-cart-coupons-coupon-button-apply:where([dir=\"ltr\"],[dir=\"ltr\"] *){border-top-right-radius:0.5rem !important;border-bottom-right-radius:0.5rem !important;border-top-left-radius:0px !important;border-bottom-left-radius:0px !important}.s-cart-coupons-coupon-button-apply:where([dir=\"rtl\"],[dir=\"rtl\"] *){border-top-left-radius:0.5rem !important;border-bottom-left-radius:0.5rem !important;border-top-right-radius:0px !important;border-bottom-right-radius:0px !important}.s-cart-coupons-coupon-error{margin-top:0.5rem;display:block;font-size:10px;line-height:1rem;--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-cart-coupons-slider{width:100%;overflow:hidden;padding-left:0.375rem;padding-right:0.375rem}.s-cart-coupons-card{position:relative;cursor:pointer;overflow:hidden;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-cart-coupons-card:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.s-cart-coupons-card:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-cart-coupons-disabled{cursor:not-allowed;opacity:0.5}.s-cart-coupons-disabled:hover{transform:none;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-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-cart-coupons-top-section{display:flex;height:60px;flex-direction:row;align-items:center;justify-content:space-between;border-top-left-radius:0.75rem;border-top-right-radius:0.75rem;border-width:1px;border-bottom-width:0px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-top:1rem;padding-bottom:1rem;padding-left:0.75rem;padding-right:0.75rem}.s-cart-coupons-discount-values{display:flex;flex-direction:column;align-items:flex-start}.s-cart-coupons-discount-values .s-cart-coupons-main-amount{display:flex;align-items:center;gap:0.25rem;white-space:nowrap;font-size:1.25rem;line-height:1.75rem;font-weight:900;line-height:1;--tw-text-opacity:1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.s-cart-coupons-discount-values .s-cart-coupons-secondary-info{margin:0px;font-size:10px;line-height:1rem}.s-cart-coupons-code{font-size:10px;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-cart-coupons-divider{position:relative;z-index:10;margin:0px;border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.s-cart-coupons-bottom-section{display:flex;min-height:44px;flex-direction:row;align-items:center;justify-content:space-between;border-bottom-right-radius:0.75rem;border-bottom-left-radius:0.75rem;border-width:1px;border-top-width:0px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding-top:0.25rem;padding-bottom:0.25rem;padding-left:0.75rem;padding-right:0.75rem}.s-cart-coupons-terms{display:flex;flex-direction:column;align-items:flex-start}.s-cart-coupons-terms .s-cart-coupons-expiry{margin:0px;font-size:10px;line-height:16px;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-cart-coupons-terms .s-cart-coupons-minimum{margin:0px;font-size:10px;line-height:16px;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-cart-coupons-terms .s-cart-coupons-expiry.s-cart-coupons-expiry-warning{font-weight:500;--tw-text-opacity:1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.s-cart-coupons-action{cursor:pointer;white-space:nowrap;border-width:0px;background-color:transparent;padding:0px;font-size:9px;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / 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-cart-coupons-action:hover{--tw-text-opacity:1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.s-cart-coupons-slide-one-fourth{width:calc(75% - 10px);min-width:200px !important;padding-left:5px !important;padding-right:5px !important;padding-top:2px !important}@media (min-width: 1024px){.s-cart-coupons-slide-one-fourth{width:calc(40% - 10px) !important}}.s-cart-coupons-card:before{pointer-events:none;position:absolute;right:-10px;top:60px;z-index:20;height:1.25rem;width:1.25rem;--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:9999px;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));--tw-content:'';content:var(--tw-content)}.s-cart-coupons-card:is(.dark *):before{--tw-bg-opacity:1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.s-cart-coupons-card:after{pointer-events:none;position:absolute;left:-10px;top:60px;z-index:20;height:1.25rem;width:1.25rem;--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:9999px;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));--tw-content:'';content:var(--tw-content)}.s-cart-coupons-card:is(.dark *):after{--tw-bg-opacity:1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.s-cart-coupons-coupon-input-container .form-input.s-coupon-input-error{--tw-shadow:0 0 0 3px rgba(239,68,68,0.1) !important;--tw-shadow-colored:0 0 0 3px var(--tw-shadow-color) !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important}";
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, h, H as Host, a as getElement } from './index-
|
|
4
|
+
import { r as registerInstance, h, H as Host, a as getElement } from './index-CHZfg_a9.js';
|
|
5
5
|
import { S as SpecialDiscountIcon } from './special-discount-Ctkfc4K-.js';
|
|
6
6
|
import { l as loyaltyProgramIcon } from './gift-BChI23pG.js';
|
|
7
7
|
import { T as TagMoneyIcon } from './tag-money-CJUR4sUM.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, h, H as Host, a as getElement } from './index-
|
|
4
|
+
import { r as registerInstance, h, H as Host, a as getElement } from './index-CHZfg_a9.js';
|
|
5
5
|
|
|
6
6
|
const sallaCartSummaryCardCss = "/*!twlt*/:host{display:block}.sticky{position:sticky}.block{display:block}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.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}.\\!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}.s-cart-summary-card-sheet-title{margin-bottom:0.5rem;flex:1 1 0%;font-size:0.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-cart-summary-card-line{margin-bottom:0.5rem;display:flex;align-items:center;justify-content:space-between;font-size:0.875rem;line-height:1.25rem}.s-cart-summary-card-line span{--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-cart-summary-card-line b{font-size:1rem;line-height:1.5rem;font-weight:600;--tw-text-opacity:1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}.s-cart-summary-card-line--discount b{--tw-text-opacity:1 !important;color:rgb(220 38 38 / var(--tw-text-opacity, 1)) !important}.s-cart-summary-card-line--discount b *{--tw-text-opacity:1 !important;color:rgb(220 38 38 / var(--tw-text-opacity, 1)) !important}.s-cart-summary-card-bar-label{display:flex;flex-direction:column;gap:0.125rem}.s-cart-summary-card-bar-label-main{display:flex;align-items:baseline;gap:0.375rem}.s-cart-summary-card-bar-label-text{white-space:nowrap;font-size:1rem;line-height:1.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-cart-summary-card-bar-count{white-space:nowrap;font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.s-cart-summary-card-bar-label-sub{font-size:11px;--tw-text-opacity:1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.s-cart-summary-card-bar-totals{display:flex;flex-direction:column;align-items:flex-end;gap:0.375rem}.s-cart-summary-card-bar-totals-row{display:flex;align-items:center;gap:0.375rem}.s-cart-summary-card-bar-total{font-size:1rem;line-height:1.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-cart-summary-card-bar-original{font-size:1rem;line-height:1.5rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));text-decoration-line:line-through}.s-cart-summary-card-bar-savings-badge{display:inline-flex;width:max-content;align-items:center;gap:0.25rem;border-radius:var(--s-radius, 0.25rem);--tw-bg-opacity:1;background-color:rgb(239 251 246 / var(--tw-bg-opacity, 1));padding-left:0.5rem;padding-right:0.5rem;padding-top:0.125rem;padding-bottom:0.125rem;font-size:11px;font-weight:600;--tw-text-opacity:1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.s-cart-summary-card-chevron{display:inline-flex;height:1.5rem;width:1.5rem;cursor:pointer;align-items:center;justify-content:center;border-width:0px;background-color:transparent;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));outline:2px solid transparent;outline-offset:2px}.s-cart-summary-card-chevron-icon{display:inline-flex;transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-cart-summary-card{display:block;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}@media (max-width: 1023px){.s-cart-summary-card{position:fixed;inset-inline:0;bottom:0;z-index:1;border-radius:24px 24px 0 0;box-shadow:0 -12px 24px -12px rgba(0, 0, 0, 0.12);transition:box-shadow 0.3s ease;padding-bottom:calc(env(safe-area-inset-bottom) + 0.5rem)}}@media (min-width: 1024px){.s-cart-summary-card{position:relative;border-radius:0.5rem;box-shadow:0 2px 6px rgba(0, 0, 0, 0.05);padding:1.25rem 1.5rem;margin-bottom:1.25rem}}@media (max-width: 1023px){.s-cart-summary-card--open{border-radius:0;box-shadow:none}}.s-cart-summary-card-sheet-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.4s cubic-bezier(0.32, 0.72, 0, 1), box-shadow 0.3s ease}@media (max-width: 1023px){.s-cart-summary-card-sheet-wrap{position:absolute;inset-inline:0;bottom:calc(100% - 1px);background:#fff;border-radius:24px 24px 0 0;overflow:hidden;box-shadow:0 -12px 24px -12px rgba(0, 0, 0, 0)}}@media (min-width: 1024px){.s-cart-summary-card-sheet-wrap{grid-template-rows:1fr}}@media (max-width: 1023px){.s-cart-summary-card-sheet-wrap--open{grid-template-rows:1fr;box-shadow:0 -12px 24px -12px rgba(0, 0, 0, 0.12)}}.s-cart-summary-card-sheet{min-height:0;overflow:hidden}@media (max-width: 1023px){.s-cart-summary-card-sheet-wrap--open .s-cart-summary-card-sheet{overflow-y:auto;max-height:70vh;-webkit-overflow-scrolling:touch;padding:0.75rem 1rem 0}}.s-cart-summary-card-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:0.5rem}@media (max-width: 1023px){.s-cart-summary-card-sheet-header{padding-bottom:0.5rem}}.s-cart-summary-card-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}@media (min-width: 1024px){.s-cart-summary-card-bar{margin-top:1rem}}@media (max-width: 1023px){.s-cart-summary-card-bar{padding:0.875rem 1rem 0.5rem;border-radius:24px 24px 0 0}.s-cart-summary-card--open .s-cart-summary-card-bar{padding-top:0;border-radius:0}}@media (min-width: 1024px){.s-cart-summary-card-action{padding-top:1rem}}@media (max-width: 1023px){.s-cart-summary-card-action{padding:0 1rem 0.75rem}}.s-cart-summary-card--open .s-cart-summary-card-chevron-icon{transform:rotate(180deg)}.s-cart-summary-card-action *:focus{outline:none}";
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, h, H as Host, a as getElement } from './index-
|
|
4
|
+
import { r as registerInstance, h, H as Host, a as getElement } from './index-CHZfg_a9.js';
|
|
5
5
|
|
|
6
6
|
var StarFilledIcon = `<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
7
7
|
<g clip-path="url(#clip0_5667_2008)">
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, h } from './index-
|
|
4
|
+
import { r as registerInstance, h } from './index-CHZfg_a9.js';
|
|
5
5
|
|
|
6
6
|
const sallaCommentsCss = "/*!twlt*/:host{display:block}salla-comment-item .s-comments-flex-1{min-width:0}.s-comments-item-review-factors-toggle{display:inline-flex;align-items:center;gap:0.35rem;padding:0;border:0;background:transparent;color:#0f6a7c;font-size:0.9rem;font-weight:500;cursor:pointer}.s-comments-item-review-factors-chevron{line-height:1;transform:rotate(180deg);transition:transform 0.2s ease}.s-comments-item-review-factors-chevron.is-open{transform:rotate(0deg)}.s-comments-item-review-factors{border:1px solid #e8e8e8;background:rgba(255, 255, 255, 0.3);border-radius:0.6rem;width:min(100%, 26rem);max-width:100%;margin:0 0 1rem;padding:0.85rem 1rem}@media (max-width: 767px){.s-comments-item-review-factors{width:100%;padding:0.75rem}}.s-comments-item-review-factor-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;direction:ltr;min-width:0}@media (max-width: 767px){.s-comments-item-review-factor-row{flex-direction:row;align-items:stretch;gap:0.35rem}}.s-comments-item-review-factor-row+.s-comments-item-review-factor-row{margin-top:0.5rem}.s-comments-item-review-factor-label,.s-comments-item-review-factor-name{color:#4b5563;font-size:0.9rem;line-height:1.45}.s-comments-item-review-factor-name{min-width:6.5rem;text-align:end;flex-shrink:0}@media (max-width: 767px){.s-comments-item-review-factor-name{min-width:5rem;text-align:end}}.s-comments-item-review-factor-label{display:inline-block;min-width:4.75rem}@media (max-width: 767px){.s-comments-item-review-factor-label{min-width:0;flex:1 1 auto}}.s-comments-item-review-factor-value{display:inline-flex;align-items:center;gap:0.35rem;min-width:0}@media (max-width: 767px){.s-comments-item-review-factor-value{width:100%;justify-content:space-between;gap:0.25rem}}.s-rating-stars-wrapper{gap:0 !important}.visible{visibility:visible}.relative{position:relative}.mb-4{margin-bottom:1rem}.mt-2{margin-top:0.5rem}.mt-6{margin-top:1.5rem}.flex{display:flex}.hidden{display:none}.w-auto{width:auto}.flex-row{flex-direction:row}.gap-4{gap:1rem}.text-left{text-align:left}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-button-btn{position:relative;display:inline-flex;flex:1 1 0%;user-select:none;flex-direction:row-reverse;align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--s-radius, 0.25rem);border-style:solid;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}.s-button-btn:hover{opacity:0.8}.s-button-primary{border-width:1px;border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-primary-reverse)}.s-button-primary:hover{background-color:var(--color-primary-dark)}.s-button-text{pointer-events:none;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-button-loader{margin-left:0.5rem;margin-right:0.5rem;display:flex;align-items:center;justify-content:center;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-button-loader::before{display:inline-block;height:1rem;content:var(--tw-content);width:1rem}@keyframes spin{to{content:var(--tw-content);transform:rotate(360deg)}}.s-button-loader::before{animation:spin 1s linear infinite;border-radius:9999px;border-width:2px;border-style:solid;border-top-color:var(--color-primary);border-left-color:var(--color-primary);border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-border-opacity:1;border-right-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-content:'';content:var(--tw-content)}.s-button-loader-center .s-button-loader{position:absolute;top:50%;left:50%;margin:0px !important;--tw-translate-y:-50%;--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-comments-item-like-btn{margin-top:0.5rem}.s-comments-item-like-btn .s-button-text{display:flex;flex-direction:row-reverse;gap:0.5rem}.s-comments-item-like-btn span svg{height:0.75rem;width:0.75rem}.has-error .s-form-control,.has-error .s-tel-input-control,.has-error .s-datetime-picker-input{border-color:#ff443a;color:#ff443a}.s-ltr{direction:ltr}.s-form-control{display:block;width:100%;border-radius:var(--s-radius, 0.25rem);border-width:1px;--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));padding:0.5rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-form-control:focus{border-color:var(--color-primary);--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(0px + 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)}.s-comments-page-container{margin-right:auto;margin-left:auto;width:100%;padding-left:0px;padding-right:0px}.s-comments-container{margin-right:auto;margin-left:auto;width:100%;padding-right:0.5rem;padding-left:0.5rem}.s-comments-title{margin-bottom:0.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:700}@media (min-width: 640px){.s-comments-title{margin-bottom:1.25rem}}.s-comments-count-label{font-size:1.125rem;line-height:1.75rem;font-weight:700;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-comments-count-label:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.s-comments-testimonials .s-comments-count-label{margin-bottom:2rem}.s-comments-item-wrapper{font-size:0.875rem;line-height:1.25rem}.s-comments-item-inner{display:flex}.s-comments-item-inner>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.75rem * var(--tw-space-x-reverse));margin-left:calc(0.75rem * calc(1 - var(--tw-space-x-reverse)))}.s-comments-item-inner:where([dir=\"rtl\"],[dir=\"rtl\"] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.s-comments-item{margin-bottom:2rem;display:block;border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-bottom:2rem}.s-comments-item:last-child{border-width:0px;padding-bottom:0px}.s-comments-item-admin-wrapper{margin-top:2rem;display:flex}.s-comments-item-admin-wrapper:where([dir=\"ltr\"],[dir=\"ltr\"] *){padding-left:2rem}@media (min-width: 768px){.s-comments-item-admin-wrapper:where([dir=\"ltr\"],[dir=\"ltr\"] *){padding-left:4rem}}.s-comments-item-admin-wrapper:where([dir=\"rtl\"],[dir=\"rtl\"] *){padding-right:2rem}@media (min-width: 768px){.s-comments-item-admin-wrapper:where([dir=\"rtl\"],[dir=\"rtl\"] *){padding-right:4rem}}.s-comments-item-avatar{flex:none}.s-comments-item-avatar-img{height:2.5rem;width:2.5rem;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));object-fit:cover}.s-comments-item-timestamp{display:flex;align-items:center;gap:0.375rem;font-size:0.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-comments-item-timestamp:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.s-comments-item-time{display:block;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1));opacity:0;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-comments-item-time:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.s-comments-item-timestamp:hover span{opacity:1}.s-comments-item-pending-text{margin-top:0.5rem;display:inline-block;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1));padding-left:0.625rem;padding-right:0.625rem;padding-top:0.125rem;padding-bottom:0.125rem}.s-comments-item-has-order-check-icon{display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1));font-size:0.75rem;line-height:1rem}.s-comments-item-pinned-icon{display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1));font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-comments-item-reply-icon svg{height:1rem;width:1rem;fill:#9ca3af}.s-comments-item-has-order-check-icon svg{height:0.75rem;width:0.75rem}.s-comments-item-pinned-icon i{font-size:0.75rem;line-height:1rem}.s-comments-item-has-order-check-text{margin-top:0.125rem;display:inline-block;--tw-translate-y:-2px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-comments-item-has-order-check-text:where([dir=\"ltr\"],[dir=\"ltr\"] *){margin-left:0.25rem}.s-comments-item-has-order-check-text:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-right:0.25rem}.s-comments-item-user-info-name{display:inline-block;--tw-translate-y:-2px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));font-size:1rem;line-height:1.5rem;font-weight:700}.s-comments-item-user-info-name:where([dir=\"ltr\"],[dir=\"ltr\"] *){margin-right:0.5rem}.s-comments-item-user-info-name:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-left:0.5rem}.s-comments-item-user-info-name-with-margin{display:inline-block;--tw-translate-y:-2px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));font-size:1rem;line-height:1.5rem;font-weight:700}.s-comments-item-user-info-name-with-margin:where([dir=\"ltr\"],[dir=\"ltr\"] *){margin-right:2.5rem}.s-comments-item-user-info-name-with-margin:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-left:2.5rem}.s-comments-item-pinned-icon-with-margin{display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1));font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-comments-item-pinned-icon-with-margin:where([dir=\"ltr\"],[dir=\"ltr\"] *){margin-right:2.5rem;margin-left:0.5rem}.s-comments-item-pinned-icon-with-margin:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-left:2.5rem;margin-right:0.5rem}.s-comments-item-stars{margin-bottom:0.625rem;width:100%}.s-comments-item-stars>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.25rem * var(--tw-space-x-reverse));margin-left:calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))}.s-comments-item-stars{font-size:0.75rem;line-height:1rem}.s-comments-item-stars:where([dir=\"rtl\"],[dir=\"rtl\"] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.s-comments-item-rated-widget{margin-top:0.125rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-comments-item-rated-widget:where([dir=\"ltr\"],[dir=\"ltr\"] *){margin-left:0.25rem}.s-comments-item-rated-widget:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-right:0.25rem}.s-comments-flex-1{flex:1 1 0%}.s-comments-flex{display:flex}.s-comments-item-user-info{margin-bottom:0.25rem;display:flex;align-items:center}.s-comments-item-user-wrapper{margin-bottom:0.5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}@media (min-width: 768px){.s-comments-item-user-wrapper{margin-bottom:0px}}.s-comments-item-content{max-width:none;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-comments-item-content:is(.dark *){--tw-text-opacity:1;color:rgb(249 250 251 / var(--tw-text-opacity, 1))}.s-comments-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:2.5rem;padding-bottom:5rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-comments-placeholder p{padding-top:0.5rem;text-align:center;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-comments-placeholder span{margin-bottom:1rem;display:flex;height:8rem;width:8rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));font-size:3rem;line-height:1;--tw-text-opacity:1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.s-comments-placeholder span svg{margin-left:auto;margin-right:auto;height:4rem;width:4rem;fill:#d1d5db;text-align:center}.s-comments-item-like-btn{margin-top:0.5rem}.s-comments-item-like-btn .s-button-text{display:flex;flex-direction:row-reverse;gap:0.5rem}.s-comments-item-like-btn span svg{height:0.75rem;width:0.75rem}.s-comments-item-images{margin-top:0.5rem;display:flex;align-items:center;gap:0.75rem}.s-comments-item-images img{height:5rem;width:5rem;cursor:pointer;border-radius:0.375rem;object-fit:cover}@media (min-width: 640px){.s-comments-item-images img{height:120px;width:120px}}.s-comments-item-images-slider{margin-top:1.25rem}.s-comments-item-images-slider .s-modal-close{background-color:transparent}.s-comments-item-images-slider-thumb{height:auto;width:100%;max-width:250px}@media (min-width: 640px){.s-comments-item-images-slider-thumb{width:50%;max-width:320px}}@media (min-width: 768px){.s-comments-item-images-slider-thumb{width:33.333333%}}@media (min-width: 1024px){.s-comments-item-images-slider-thumb{width:25%}}.s-comments-item-images-slider-thumb img{height:100%;width:100%;object-fit:cover}.s-comments-header{margin-top:1.5rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between}.s-comments-header:not(.has-total){justify-content:flex-end !important}.s-comments-sort-input{width:10rem}.s-comments-filter-wrapper{display:flex;align-items:center}.s-comments-filter-label{display:none;white-space:nowrap}@media (min-width: 640px){.s-comments-filter-label{display:block}}.s-comments-filter-label:where([dir=\"ltr\"],[dir=\"ltr\"] *){margin-right:0.75rem}.s-comments-filter-label:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-left:0.75rem}.s-comments-container salla-reviews-summary{margin-top:1.5rem}.s-comments-item-content-container{display:flex;flex-direction:row;align-items:center;gap:0.5rem}.rtl\\:text-right:where([dir=\"rtl\"],[dir=\"rtl\"] *){text-align:right}";
|
|
7
7
|
|