@salla.sa/twilight-components 3.0.17 → 3.0.19
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/{Helper-DSYelC4c.js → Helper-DqKJCL8G.js} +1 -1
- package/dist/cjs/{filepond-l9D0Yv7b.js → filepond-Byu0lc8z.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-8SrbLptI.js → filepond-plugin-file-poster-qwx7lYZ-.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-DGD6oJy0.js → filepond-plugin-file-validate-size-C-n0P4TT.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-BIvrhp3w.js → filepond-plugin-file-validate-type-C8VOOXdT.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-4xKikdXG.js → filepond-plugin-image-edit-B9KG763Y.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-C3BvwxQh.js → filepond-plugin-image-exif-orientation-Czt4pYzU.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-CBq_GY0V.js → filepond-plugin-image-preview-BFm1Zl0o.js} +1 -1
- package/dist/cjs/free-shipping-timer-6QBe5BNS.js +156 -0
- package/dist/cjs/helpers-NV7wgP50.js +602 -0
- package/dist/cjs/{index-BAwxpXnB.js → index-CFW798jX.js} +2 -2
- package/dist/cjs/{intlTelInput-xw-HaAEN.js → intlTelInput-CLa2B89b.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-accordion_6.cjs.entry.js +2 -2
- package/dist/cjs/salla-add-product-button_5.cjs.entry.js +46 -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 +2 -2
- package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
- package/dist/cjs/salla-attachment-view_9.cjs.entry.js +11 -11
- package/dist/cjs/salla-badge.cjs.entry.js +1 -1
- package/dist/cjs/salla-basket-gap.cjs.entry.js +1 -1
- package/dist/cjs/salla-bullet-delivery_3.cjs.entry.js +590 -134
- 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 +2 -2
- package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
- package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
- package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
- package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
- package/dist/cjs/salla-delivery-promise.cjs.entry.js +2 -2
- package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters-widget.cjs.entry.js +2 -2
- package/dist/cjs/salla-filters.cjs.entry.js +2 -2
- package/dist/cjs/salla-free-shipping-banner.cjs.entry.js +95 -9
- package/dist/cjs/salla-free-shipping-tag.cjs.entry.js +18 -5
- package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
- package/dist/cjs/salla-gift-card-redeem_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-gifting.cjs.entry.js +13 -6
- package/dist/cjs/salla-hook.cjs.entry.js +1 -1
- package/dist/cjs/salla-infinite-scroll.cjs.entry.js +2 -2
- 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 +7 -2
- package/dist/cjs/salla-loyalty-banner_10.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
- package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-map_3.cjs.entry.js +1 -1
- package/dist/cjs/salla-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
- package/dist/cjs/salla-notification-item_2.cjs.entry.js +2 -2
- 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-items.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-options-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-payment.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-rewards.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 +2 -2
- package/dist/cjs/salla-payments.cjs.entry.js +1 -1
- package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
- package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
- package/dist/cjs/salla-products-list.cjs.entry.js +13 -5
- package/dist/cjs/salla-products-slider.cjs.entry.js +2 -2
- package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
- package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +7 -4
- package/dist/cjs/salla-rating-modal.cjs.entry.js +2 -2
- 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-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-search.cjs.entry.js +2 -2
- package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/salla-social-share.cjs.entry.js +1 -1
- 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-thank-you-header.cjs.entry.js +1 -1
- package/dist/cjs/salla-thank-you-page.cjs.entry.js +1 -1
- package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-settings.cjs.entry.js +1 -1
- 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 +1 -1
- package/dist/cjs/salla-wishlist-summary.cjs.entry.js +2 -2
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/cjs/{vanilla-picker-Cm_uNdps.js → vanilla-picker-Vx_7G7bs.js} +1 -1
- package/dist/collection/components/salla-bullet-delivery/api-service.js +156 -25
- package/dist/collection/components/salla-bullet-delivery/helpers.js +143 -15
- package/dist/collection/components/salla-bullet-delivery/icons.js +17 -0
- package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.css +490 -52
- package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.js +489 -106
- package/dist/collection/components/salla-bullet-delivery/selector-tracker.js +106 -0
- package/dist/collection/components/salla-free-shipping-banner/salla-free-shipping-banner.css +18 -4
- package/dist/collection/components/salla-free-shipping-banner/salla-free-shipping-banner.js +94 -11
- package/dist/collection/components/salla-free-shipping-tag/salla-free-shipping-tag.css +6 -0
- package/dist/collection/components/salla-free-shipping-tag/salla-free-shipping-tag.js +18 -2
- package/dist/collection/components/salla-gifting/salla-gifting.css +16 -1
- package/dist/collection/components/salla-gifting/salla-gifting.js +11 -4
- package/dist/collection/components/salla-login-modal/salla-login-modal.js +6 -1
- package/dist/collection/components/salla-products-list/salla-products-list.js +11 -3
- package/dist/collection/components/salla-quick-buy/salla-quick-buy.js +44 -1
- package/dist/collection/components/salla-rating-modal/salla-rating-modal-v2.js +5 -2
- package/dist/collection/shared/free-shipping-timer.js +130 -0
- package/dist/components/free-shipping-timer.js +150 -0
- package/dist/components/helpers.js +299 -40
- package/dist/components/index.js +2 -2
- package/dist/components/salla-bullet-delivery.js +595 -133
- package/dist/components/salla-free-shipping-banner.js +95 -8
- package/dist/components/salla-free-shipping-tag.js +17 -3
- package/dist/components/salla-gifting.js +12 -5
- package/dist/components/salla-login-modal2.js +6 -1
- package/dist/components/salla-products-list2.js +11 -3
- package/dist/components/salla-quick-buy2.js +44 -1
- package/dist/components/salla-rating-modal-v22.js +5 -2
- package/dist/docs.json +25 -5
- package/dist/esm/{Helper-POCi7J93.js → Helper-I0CAizv1.js} +1 -1
- package/dist/esm/{filepond-Ct76xW02.js → filepond-DTUYXV0J.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-C1OkzGRs.js → filepond-plugin-file-poster-DydZjneT.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-gdd-69cO.js → filepond-plugin-file-validate-size-nbsCU2t9.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-BaZ2QTzl.js → filepond-plugin-file-validate-type-Cl5B_DIy.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-CsoNvf0i.js → filepond-plugin-image-edit-bzskFyFR.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-BHDSe3nH.js → filepond-plugin-image-exif-orientation-MBDuxLaX.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-CD_S17z3.js → filepond-plugin-image-preview-N6wzEryW.js} +1 -1
- package/dist/esm/free-shipping-timer-CnTwkF6y.js +150 -0
- package/dist/esm/helpers-Cnh7Qptl.js +568 -0
- package/dist/esm/{index-DmGAR42j.js → index-C9zdeQFI.js} +2 -2
- package/dist/esm/{intlTelInput-D76Q4XFx.js → intlTelInput-B5L9nYtO.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-accordion-body_2.entry.js +1 -1
- package/dist/esm/salla-accordion_6.entry.js +2 -2
- package/dist/esm/salla-add-product-button_5.entry.js +46 -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 +2 -2
- package/dist/esm/salla-apps-icons.entry.js +1 -1
- package/dist/esm/salla-attachment-view_9.entry.js +11 -11
- package/dist/esm/salla-badge.entry.js +1 -1
- package/dist/esm/salla-basket-gap.entry.js +1 -1
- package/dist/esm/salla-bullet-delivery_3.entry.js +590 -134
- 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 +2 -2
- package/dist/esm/salla-conditional-offer.entry.js +1 -1
- package/dist/esm/salla-contacts.entry.js +1 -1
- package/dist/esm/salla-cookies-bar.entry.js +1 -1
- package/dist/esm/salla-count-down.entry.js +1 -1
- package/dist/esm/salla-custom-fields.entry.js +1 -1
- package/dist/esm/salla-delivery-promise.entry.js +2 -2
- package/dist/esm/salla-edit-order-button.entry.js +1 -1
- package/dist/esm/salla-filters-widget.entry.js +2 -2
- package/dist/esm/salla-filters.entry.js +2 -2
- package/dist/esm/salla-free-shipping-banner.entry.js +94 -8
- package/dist/esm/salla-free-shipping-tag.entry.js +17 -4
- package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
- package/dist/esm/salla-gift-card-redeem_2.entry.js +1 -1
- package/dist/esm/salla-gifting.entry.js +13 -6
- package/dist/esm/salla-hook.entry.js +1 -1
- package/dist/esm/salla-infinite-scroll.entry.js +2 -2
- 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 +7 -2
- package/dist/esm/salla-loyalty-banner_10.entry.js +1 -1
- package/dist/esm/salla-loyalty-exchange-product-card.entry.js +1 -1
- package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
- package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
- package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm/salla-loyalty.entry.js +1 -1
- package/dist/esm/salla-maintenance-alert.entry.js +1 -1
- package/dist/esm/salla-map_3.entry.js +1 -1
- package/dist/esm/salla-menu.entry.js +1 -1
- package/dist/esm/salla-metadata.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-next-order-coupon.entry.js +1 -1
- package/dist/esm/salla-notification-item_2.entry.js +2 -2
- 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-items.entry.js +1 -1
- package/dist/esm/salla-order-options-modal.entry.js +1 -1
- package/dist/esm/salla-order-payment.entry.js +1 -1
- package/dist/esm/salla-order-rewards.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 +2 -2
- package/dist/esm/salla-payments.entry.js +1 -1
- package/dist/esm/salla-placeholder.entry.js +1 -1
- package/dist/esm/salla-price-range.entry.js +1 -1
- package/dist/esm/salla-product-card-embed.entry.js +1 -1
- package/dist/esm/salla-product-card.entry.js +1 -1
- package/dist/esm/salla-product-size-guide.entry.js +1 -1
- package/dist/esm/salla-products-list.entry.js +13 -5
- package/dist/esm/salla-products-slider.entry.js +2 -2
- package/dist/esm/salla-quick-order.entry.js +1 -1
- package/dist/esm/salla-rating-modal-v2.entry.js +7 -4
- package/dist/esm/salla-rating-modal.entry.js +2 -2
- 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-product-card.entry.js +1 -1
- package/dist/esm/salla-search.entry.js +2 -2
- package/dist/esm/salla-skeleton.entry.js +1 -1
- package/dist/esm/salla-social-share.entry.js +1 -1
- package/dist/esm/salla-social.entry.js +1 -1
- package/dist/esm/salla-tab-content_3.entry.js +1 -1
- package/dist/esm/salla-thank-you-header.entry.js +1 -1
- package/dist/esm/salla-thank-you-page.entry.js +1 -1
- package/dist/esm/salla-tiered-offer.entry.js +1 -1
- package/dist/esm/salla-trust-badges.entry.js +1 -1
- package/dist/esm/salla-user-menu.entry.js +1 -1
- package/dist/esm/salla-user-profile.entry.js +1 -1
- package/dist/esm/salla-user-settings.entry.js +1 -1
- 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 +1 -1
- package/dist/esm/salla-wishlist-summary.entry.js +2 -2
- package/dist/esm/twilight.js +3 -3
- package/dist/esm/{vanilla-picker-BlIXJyvJ.js → vanilla-picker-CAeu4f87.js} +1 -1
- package/dist/twilight/{p-84d725d4.entry.js → p-01d5cd61.entry.js} +1 -1
- package/dist/twilight/{p-60f4357f.entry.js → p-0213fde4.entry.js} +1 -1
- package/dist/twilight/{p-8f0af317.entry.js → p-036fbfc0.entry.js} +1 -1
- package/dist/twilight/{p-90d4129f.entry.js → p-0add41ce.entry.js} +1 -1
- package/dist/twilight/{p-fed66bcb.entry.js → p-0b0d4942.entry.js} +1 -1
- package/dist/twilight/{p-86ca22d5.entry.js → p-17bcbf9b.entry.js} +1 -1
- package/dist/twilight/{p-b66df976.entry.js → p-1867f7d4.entry.js} +1 -1
- package/dist/twilight/p-194ff38c.entry.js +4 -0
- package/dist/twilight/{p-4057b692.entry.js → p-20f9c62f.entry.js} +1 -1
- package/dist/twilight/{p-783c6346.entry.js → p-252748d9.entry.js} +1 -1
- package/dist/twilight/{p-3d5e862c.entry.js → p-290ce0bc.entry.js} +1 -1
- package/dist/twilight/{p-d68625f7.entry.js → p-2b930157.entry.js} +1 -1
- package/dist/twilight/{p-184ea04c.entry.js → p-2e4e15c5.entry.js} +1 -1
- package/dist/twilight/p-2e6537a3.entry.js +4 -0
- package/dist/twilight/{p-2a3e2404.entry.js → p-30d64bd1.entry.js} +1 -1
- package/dist/twilight/{p-5d4fadd2.entry.js → p-32495dd2.entry.js} +1 -1
- package/dist/twilight/{p-cd7029fc.entry.js → p-32d9da31.entry.js} +1 -1
- package/dist/twilight/{p-7e854633.entry.js → p-32f100f8.entry.js} +1 -1
- package/dist/twilight/{p-dc3ff1f0.entry.js → p-386b3dcd.entry.js} +1 -1
- package/dist/twilight/{p-e8090773.entry.js → p-3a4e86d1.entry.js} +1 -1
- package/dist/twilight/{p-a0a57259.entry.js → p-3b766a79.entry.js} +1 -1
- package/dist/twilight/{p-a5d2ad5e.entry.js → p-3b7a45ec.entry.js} +1 -1
- package/dist/twilight/{p-33ff7967.entry.js → p-3bb0e184.entry.js} +1 -1
- package/dist/twilight/{p-8b39a9f7.entry.js → p-3cc6ca6c.entry.js} +1 -1
- package/dist/twilight/{p-0a794d6f.entry.js → p-4070f808.entry.js} +1 -1
- package/dist/twilight/{p-d2c1457e.entry.js → p-412fb721.entry.js} +1 -1
- package/dist/twilight/{p-fce39869.entry.js → p-427c13b6.entry.js} +1 -1
- package/dist/twilight/{p-49195cb6.entry.js → p-45e0a5d0.entry.js} +1 -1
- package/dist/twilight/{p-cd866be6.entry.js → p-4d615f9f.entry.js} +1 -1
- package/dist/twilight/{p-4f794057.entry.js → p-4d7fc363.entry.js} +1 -1
- package/dist/twilight/{p-9eb92980.entry.js → p-5009f654.entry.js} +1 -1
- package/dist/twilight/{p-f4411a04.entry.js → p-50853b76.entry.js} +1 -1
- package/dist/twilight/{p-b9695308.entry.js → p-550ad1a6.entry.js} +1 -1
- package/dist/twilight/{p-4839d408.entry.js → p-575014c4.entry.js} +1 -1
- package/dist/twilight/{p-f10b887a.entry.js → p-5aee5e44.entry.js} +1 -1
- package/dist/twilight/{p-622bfb21.entry.js → p-619c709c.entry.js} +1 -1
- package/dist/twilight/{p-74f206cf.entry.js → p-6d572fe0.entry.js} +1 -1
- package/dist/twilight/{p-26fec98c.entry.js → p-6f84c662.entry.js} +1 -1
- package/dist/twilight/{p-4a1aa85f.entry.js → p-703b9253.entry.js} +1 -1
- package/dist/twilight/{p-509ad773.entry.js → p-73dea22d.entry.js} +1 -1
- package/dist/twilight/{p-6c7cae8a.entry.js → p-74285af9.entry.js} +1 -1
- package/dist/twilight/{p-31260fae.entry.js → p-777d28f6.entry.js} +1 -1
- package/dist/twilight/{p-4702959a.entry.js → p-7db6ccfe.entry.js} +1 -1
- package/dist/twilight/{p-e89a1905.entry.js → p-7db8d545.entry.js} +1 -1
- package/dist/twilight/{p-0c6a024f.entry.js → p-7fa4d0b6.entry.js} +1 -1
- package/dist/twilight/{p-2e8f95d0.entry.js → p-825c5b73.entry.js} +1 -1
- package/dist/twilight/{p-e5545546.entry.js → p-8262e669.entry.js} +1 -1
- package/dist/twilight/{p-bab5d057.entry.js → p-86d55a6b.entry.js} +1 -1
- package/dist/twilight/{p-0225f396.entry.js → p-8712f7c7.entry.js} +1 -1
- package/dist/twilight/{p-a53e2c74.entry.js → p-8948b58c.entry.js} +1 -1
- package/dist/twilight/{p-37b68ef3.entry.js → p-8b8cf457.entry.js} +1 -1
- package/dist/twilight/{p-8e8e40bc.entry.js → p-8c2992e7.entry.js} +1 -1
- package/dist/twilight/{p-eb160c2e.entry.js → p-8c548259.entry.js} +1 -1
- package/dist/twilight/{p-5d775867.entry.js → p-8eb3fd92.entry.js} +1 -1
- package/dist/twilight/p-908716fb.entry.js +4 -0
- package/dist/twilight/{p-62ba0971.entry.js → p-90a59027.entry.js} +1 -1
- package/dist/twilight/{p-ae9c0abe.entry.js → p-9683535f.entry.js} +1 -1
- package/dist/twilight/{p-89cff0c8.entry.js → p-982e9124.entry.js} +1 -1
- package/dist/twilight/{p-a17784e6.entry.js → p-995b898f.entry.js} +1 -1
- package/dist/twilight/{p-3a3d4cb7.entry.js → p-99cb3dba.entry.js} +1 -1
- package/dist/twilight/{p-6757344a.entry.js → p-9a0218a6.entry.js} +1 -1
- package/dist/twilight/{p-7d337f25.entry.js → p-9cf31ff4.entry.js} +1 -1
- package/dist/twilight/{p-d495cce0.entry.js → p-9d1a5007.entry.js} +1 -1
- package/dist/twilight/{p-57b93850.entry.js → p-9e429047.entry.js} +1 -1
- package/dist/twilight/{p-40083f25.entry.js → p-9e542951.entry.js} +1 -1
- package/dist/twilight/{p-Dhq3oJAe.js → p-BcT9tEVW.js} +1 -1
- package/dist/twilight/{p-Dza6OBFg.js → p-Bgu5gtOF.js} +1 -1
- package/dist/twilight/p-C9zdeQFI.js +5 -0
- package/dist/twilight/{p-BbZqYBfp.js → p-CSGj1pY-.js} +1 -1
- package/dist/twilight/{p-Nyk6-1lq.js → p-CWWgpQ8Q.js} +1 -1
- package/dist/twilight/{p-BwzmoZpm.js → p-Cfz9xit3.js} +1 -1
- package/dist/twilight/{p-iCJI7qYe.js → p-CmYSalnM.js} +1 -1
- package/dist/twilight/p-CnTwkF6y.js +4 -0
- package/dist/twilight/p-Cnh7Qptl.js +4 -0
- package/dist/twilight/{p-DVWVl151.js → p-Dav_R_d2.js} +1 -1
- package/dist/twilight/{p-B7rn1taO.js → p-JGEddAgs.js} +1 -1
- package/dist/twilight/{p-CAc7tX2K.js → p-RflSBQNB.js} +1 -1
- package/dist/twilight/{p-De2wEjqS.js → p-Xgbueas7.js} +1 -1
- package/dist/twilight/{p-64d49f5d.entry.js → p-a070cce0.entry.js} +1 -1
- package/dist/twilight/p-a0bfedad.entry.js +4 -0
- package/dist/twilight/{p-bf29daf3.entry.js → p-a22d9931.entry.js} +1 -1
- package/dist/twilight/{p-2153c6fd.entry.js → p-a3959219.entry.js} +1 -1
- package/dist/twilight/p-a3ca61af.entry.js +4 -0
- package/dist/twilight/{p-0e1248c4.entry.js → p-a55b5c44.entry.js} +1 -1
- package/dist/twilight/{p-24423a8d.entry.js → p-a5fc8358.entry.js} +1 -1
- package/dist/twilight/{p-66f6d722.entry.js → p-aabcd09f.entry.js} +1 -1
- package/dist/twilight/{p-4c801f91.entry.js → p-ad00021e.entry.js} +1 -1
- package/dist/twilight/{p-fae2a8d0.entry.js → p-ade9a68c.entry.js} +1 -1
- package/dist/twilight/{p-83ccad19.entry.js → p-b5e0065a.entry.js} +1 -1
- package/dist/twilight/{p-2a8d6e7e.entry.js → p-bbb09d92.entry.js} +1 -1
- package/dist/twilight/{p-f034968b.entry.js → p-c2df20f8.entry.js} +1 -1
- package/dist/twilight/{p-b38c38fe.entry.js → p-c4274188.entry.js} +1 -1
- package/dist/twilight/{p-d63ce284.entry.js → p-c5e2c781.entry.js} +1 -1
- package/dist/twilight/{p-07450aed.entry.js → p-c64b2b22.entry.js} +1 -1
- package/dist/twilight/{p-14752d03.entry.js → p-c92cc92f.entry.js} +1 -1
- package/dist/twilight/{p-d6c5bf2a.entry.js → p-cb54adac.entry.js} +1 -1
- package/dist/twilight/{p-7750bace.entry.js → p-ce1e45a3.entry.js} +1 -1
- package/dist/twilight/{p-e4d90663.entry.js → p-d0acd7ff.entry.js} +1 -1
- package/dist/twilight/{p-f9b9af72.entry.js → p-d0f903ac.entry.js} +1 -1
- package/dist/twilight/{p-7df4ee74.entry.js → p-d57b49ff.entry.js} +1 -1
- package/dist/twilight/p-db3efb27.entry.js +4 -0
- package/dist/twilight/{p-e81c4521.entry.js → p-db73d0bf.entry.js} +1 -1
- package/dist/twilight/{p-bfb70998.entry.js → p-e20d5e75.entry.js} +1 -1
- package/dist/twilight/{p-1982520c.entry.js → p-e223beca.entry.js} +1 -1
- package/dist/twilight/{p-20939237.entry.js → p-e37da59f.entry.js} +1 -1
- package/dist/twilight/p-e3991836.entry.js +4 -0
- package/dist/twilight/{p-fe413496.entry.js → p-e455709f.entry.js} +1 -1
- package/dist/twilight/{p-cc2c52bb.entry.js → p-e921b2d1.entry.js} +1 -1
- package/dist/twilight/{p-acd48ae7.entry.js → p-ec356e5a.entry.js} +1 -1
- package/dist/twilight/{p-7a985c8c.entry.js → p-eeefc285.entry.js} +1 -1
- package/dist/twilight/{p-120b4694.entry.js → p-f3b12754.entry.js} +1 -1
- package/dist/twilight/{p-c3c99d9e.entry.js → p-f6279a13.entry.js} +1 -1
- package/dist/twilight/{p-b819de23.entry.js → p-f83efc62.entry.js} +1 -1
- package/dist/twilight/{p-8b43035f.entry.js → p-fa622715.entry.js} +1 -1
- package/dist/twilight/{p-b87ea253.entry.js → p-faf00404.entry.js} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-bullet-delivery/api-service.d.ts +23 -7
- package/dist/types/components/salla-bullet-delivery/helpers.d.ts +61 -6
- package/dist/types/components/salla-bullet-delivery/icons.d.ts +14 -0
- package/dist/types/components/salla-bullet-delivery/interfaces.d.ts +36 -1
- package/dist/types/components/salla-bullet-delivery/salla-bullet-delivery.d.ts +82 -3
- package/dist/types/components/salla-bullet-delivery/selector-tracker.d.ts +30 -0
- package/dist/types/components/salla-free-shipping-banner/salla-free-shipping-banner.d.ts +19 -5
- package/dist/types/components/salla-free-shipping-tag/salla-free-shipping-tag.d.ts +6 -1
- package/dist/types/components/salla-gifting/salla-gifting.d.ts +1 -0
- package/dist/types/components/salla-quick-buy/salla-quick-buy.d.ts +6 -0
- package/dist/types/components/salla-rating-modal/salla-rating-modal-v2.d.ts +1 -0
- package/dist/types/components.d.ts +11 -25
- package/dist/types/shared/free-shipping-timer.d.ts +36 -0
- package/package.json +5 -5
- package/dist/cjs/free-shipping-DkIKD6ch.js +0 -31
- package/dist/cjs/helpers-8bMfm_mm.js +0 -329
- package/dist/components/free-shipping.js +0 -29
- package/dist/esm/free-shipping-Brg4wsgg.js +0 -29
- package/dist/esm/helpers-DqzaeXrL.js +0 -309
- package/dist/twilight/p-12a8aed8.entry.js +0 -4
- package/dist/twilight/p-4f443e36.entry.js +0 -4
- package/dist/twilight/p-5b81a3d9.entry.js +0 -4
- package/dist/twilight/p-93f26336.entry.js +0 -4
- package/dist/twilight/p-Brg4wsgg.js +0 -4
- package/dist/twilight/p-DmGAR42j.js +0 -5
- package/dist/twilight/p-DqzaeXrL.js +0 -4
- package/dist/twilight/p-c7c868b4.entry.js +0 -4
- package/dist/twilight/p-d5a2ba68.entry.js +0 -4
- package/dist/twilight/p-f8ff074f.entry.js +0 -4
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
4
|
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
5
|
-
import { i as isEligibleForFreeShipping } from './free-shipping.js';
|
|
5
|
+
import { i as isEligibleForFreeShipping, s as startTimerIfNeeded, a as isTimerEnabled, b as subscribeToFreeShippingTimer, g as getFreeShippingTimerState } from './free-shipping-timer.js';
|
|
6
6
|
|
|
7
|
-
const sallaFreeShippingBannerCss = "/*!twlt*/salla-free-shipping-banner{display:block}.s-free-shipping-banner{--s-fsb-tint:rgba(128, 128, 128, 0.1);--s-fsb-tint-2:rgba(128, 128, 128, 0.18);--s-fsb-shine:rgba(128, 128, 128, 0.35);color:inherit;font-size:13.5px;line-height:1.4;background:var(--s-fsb-tint);margin-block-start:1rem;margin-block-end:1rem;border-radius:12px;padding:8px 12px}@supports (color: color-mix(in srgb, red, blue)){.s-free-shipping-banner{--s-fsb-tint:color-mix(in srgb, currentColor 9%, transparent);--s-fsb-tint-2:color-mix(in srgb, currentColor 12%, transparent);--s-fsb-shine:color-mix(in srgb, currentColor 40%, transparent)}}.s-free-shipping-banner svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.s-free-shipping-banner__inner{display:flex;align-items:center;gap:10px}.s-free-shipping-banner__icon{flex:none;inline-size:42px;block-size:28px;overflow:visible}.s-free-shipping-banner__icon .s-fsb-fill{fill:currentColor;stroke:none}.s-free-shipping-banner__icon .s-fsb-window{fill:#fff;stroke:none}.s-free-shipping-banner__icon .s-fsb-line{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.s-free-shipping-banner__icon .s-fsb-wheel{fill:none;stroke:currentColor;stroke-width:2}.s-free-shipping-banner__icon .s-fsb-body{animation:s-fsb-bob 0.36s ease-in-out infinite alternate}.s-free-shipping-banner__icon .s-fsb-speed path{animation:s-fsb-speed 0.6s linear infinite}.s-free-shipping-banner__icon .s-fsb-speed path:nth-child(2){animation-delay:0.2s}.s-free-shipping-banner__icon .s-fsb-speed path:nth-child(3){animation-delay:0.4s}.s-free-shipping-banner__text{margin:0;flex:1 1 auto;min-inline-size:0}.s-free-shipping-banner__text strong{display:block;font-size:14.5px;font-weight:700;line-height:1.3}.s-free-shipping-banner__desc{display:block;font-size:12.5px;line-height:1.35;opacity:0.85;margin-block-start:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-free-shipping-
|
|
7
|
+
const sallaFreeShippingBannerCss = "/*!twlt*/salla-free-shipping-banner{display:block}.s-free-shipping-banner{--s-fsb-tint:rgba(128, 128, 128, 0.1);--s-fsb-tint-2:rgba(128, 128, 128, 0.18);--s-fsb-shine:rgba(128, 128, 128, 0.35);color:inherit;font-size:13.5px;line-height:1.4;background:var(--s-fsb-tint);margin-block-start:1rem;margin-block-end:1rem;border-radius:12px;padding:8px 12px}@supports (color: color-mix(in srgb, red, blue)){.s-free-shipping-banner{--s-fsb-tint:color-mix(in srgb, currentColor 9%, transparent);--s-fsb-tint-2:color-mix(in srgb, currentColor 12%, transparent);--s-fsb-shine:color-mix(in srgb, currentColor 40%, transparent)}}.s-free-shipping-banner svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.s-free-shipping-banner__inner{display:flex;align-items:center;gap:10px}.s-free-shipping-banner__icon{flex:none;inline-size:42px;block-size:28px;overflow:visible}.s-free-shipping-banner__icon .s-fsb-fill{fill:currentColor;stroke:none}.s-free-shipping-banner__icon .s-fsb-window{fill:#fff;stroke:none}.s-free-shipping-banner__icon .s-fsb-line{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.s-free-shipping-banner__icon .s-fsb-wheel{fill:none;stroke:currentColor;stroke-width:2}.s-free-shipping-banner__icon .s-fsb-body{animation:s-fsb-bob 0.36s ease-in-out infinite alternate}.s-free-shipping-banner__icon .s-fsb-speed path{animation:s-fsb-speed 0.6s linear infinite}.s-free-shipping-banner__icon .s-fsb-speed path:nth-child(2){animation-delay:0.2s}.s-free-shipping-banner__icon .s-fsb-speed path:nth-child(3){animation-delay:0.4s}.s-free-shipping-banner__text{margin:0;flex:1 1 auto;min-inline-size:0}.s-free-shipping-banner__text strong{display:block;font-size:14.5px;font-weight:700;line-height:1.3}.s-free-shipping-banner__desc{display:block;font-size:12.5px;line-height:1.35;opacity:0.85;margin-block-start:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-free-shipping-banner__timer{position:relative;overflow:hidden;flex:none;display:inline-flex;align-items:center;gap:6px;min-block-size:28px;padding-inline:10px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap;background:var(--s-fsb-tint-2)}.s-free-shipping-banner__timer svg{inline-size:15px;block-size:15px}.s-free-shipping-banner__timer::after{content:\"\";position:absolute;top:0;bottom:0;left:0;inline-size:45%;background:linear-gradient(90deg, transparent, var(--s-fsb-shine), transparent);transform:translateX(-150%) skewX(-18deg);animation:s-fsb-shine 5s ease-in-out infinite;pointer-events:none}.s-free-shipping-banner__clock{font-size:13.5px;font-variant-numeric:tabular-nums;font-feature-settings:\"tnum\";direction:ltr;unicode-bidi:isolate}.s-free-shipping-banner.has-paper .s-free-shipping-banner__timer{background:var(--s-fsb-ink);color:var(--s-fsb-paper)}@media (prefers-reduced-motion: reduce){.s-free-shipping-banner *,.s-free-shipping-banner *::after{animation:none !important}}@media (max-width: 767px){.s-free-shipping-banner__desc{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.s-free-shipping-banner__label{display:none}.s-free-shipping-banner__timer{padding-inline:9px}}@media (min-width: 900px){.s-free-shipping-banner{padding:8px 14px}.s-free-shipping-banner__inner{gap:12px}.s-free-shipping-banner__icon{inline-size:48px;block-size:32px}.s-free-shipping-banner__text strong{font-size:15.5px}.s-free-shipping-banner__desc{font-size:13px}}@keyframes s-fsb-bob{from{transform:translateY(0)}to{transform:translateY(-0.8px)}}@keyframes s-fsb-speed{0%{transform:translateX(2px);opacity:0}30%{opacity:0.9}100%{transform:translateX(-7px);opacity:0}}@keyframes s-fsb-shine{0%{transform:translateX(-150%) skewX(-18deg)}26%,100%{transform:translateX(360%) skewX(-18deg)}}.visible{visibility:visible}.hidden{display:none}";
|
|
8
8
|
|
|
9
9
|
const LABELS = {
|
|
10
10
|
title: {
|
|
@@ -15,11 +15,27 @@ const LABELS = {
|
|
|
15
15
|
ar: 'لفترة محدودة! تسوّق واستفد من الشحن المجاني',
|
|
16
16
|
en: 'Shop now and save on delivery for a limited time.',
|
|
17
17
|
},
|
|
18
|
-
|
|
19
|
-
ar: '
|
|
20
|
-
en: '
|
|
18
|
+
ends_in: {
|
|
19
|
+
ar: 'ينتهي خلال',
|
|
20
|
+
en: 'Ends in',
|
|
21
21
|
},
|
|
22
22
|
};
|
|
23
|
+
const pad = (n) => (n < 10 ? '0' : '') + n;
|
|
24
|
+
function formatClock(ms) {
|
|
25
|
+
const seconds = Math.max(0, Math.floor(ms / 1000));
|
|
26
|
+
return `${pad(Math.floor(seconds / 3600))}:${pad(Math.floor((seconds % 3600) / 60))}:${pad(seconds % 60)}`;
|
|
27
|
+
}
|
|
28
|
+
function luminance(rgb) {
|
|
29
|
+
const m = /rgba?\((\d+),\s*(\d+),\s*(\d+)/.exec(rgb || '');
|
|
30
|
+
if (!m)
|
|
31
|
+
return null;
|
|
32
|
+
const f = (c) => {
|
|
33
|
+
c /= 255;
|
|
34
|
+
return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
|
|
35
|
+
};
|
|
36
|
+
return 0.2126 * f(+m[1]) + 0.7152 * f(+m[2]) + 0.0722 * f(+m[3]);
|
|
37
|
+
}
|
|
38
|
+
const isTransparent = (bg) => !bg || bg === 'transparent' || /rgba\(\d+,\s*\d+,\s*\d+,\s*0\)/.test(bg);
|
|
23
39
|
const SallaFreeShippingBanner$1 = /*@__PURE__*/ proxyCustomElement(class SallaFreeShippingBanner extends HTMLElement {
|
|
24
40
|
constructor() {
|
|
25
41
|
super();
|
|
@@ -27,7 +43,19 @@ const SallaFreeShippingBanner$1 = /*@__PURE__*/ proxyCustomElement(class SallaFr
|
|
|
27
43
|
/** Where the banner is rendered: the home page or the product page. */
|
|
28
44
|
this.placement = 'home';
|
|
29
45
|
this.locale = 'ar';
|
|
46
|
+
/** Whether free shipping applies here (feature on and the eligibility check passed). */
|
|
30
47
|
this.visible = false;
|
|
48
|
+
this.timer = null;
|
|
49
|
+
this.onColorSchemeChange = () => this.measureInkAndPaper();
|
|
50
|
+
}
|
|
51
|
+
connectedCallback() {
|
|
52
|
+
this.colorScheme = window.matchMedia?.('(prefers-color-scheme: dark)');
|
|
53
|
+
this.colorScheme?.addEventListener?.('change', this.onColorSchemeChange);
|
|
54
|
+
}
|
|
55
|
+
disconnectedCallback() {
|
|
56
|
+
this.unsubscribe?.();
|
|
57
|
+
this.stopTick();
|
|
58
|
+
this.colorScheme?.removeEventListener?.('change', this.onColorSchemeChange);
|
|
31
59
|
}
|
|
32
60
|
async componentWillLoad() {
|
|
33
61
|
try {
|
|
@@ -43,27 +71,86 @@ const SallaFreeShippingBanner$1 = /*@__PURE__*/ proxyCustomElement(class SallaFr
|
|
|
43
71
|
// home: is the store offering free shipping; product page: is this product eligible
|
|
44
72
|
const productId = this.placement === 'product' ? salla.config.get('page.id') : undefined;
|
|
45
73
|
this.visible = await isEligibleForFreeShipping(productId);
|
|
74
|
+
if (this.visible) {
|
|
75
|
+
// The visitor sees the banner now: remember when, the first time only.
|
|
76
|
+
startTimerIfNeeded();
|
|
77
|
+
// Only a banner that can show, and has a timer, follows it (to hide at the end and come back after).
|
|
78
|
+
if (isTimerEnabled()) {
|
|
79
|
+
this.unsubscribe = subscribeToFreeShippingTimer(() => this.refreshTimer());
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
this.refreshTimer();
|
|
46
83
|
}
|
|
47
84
|
catch (e) {
|
|
48
85
|
salla?.logger?.warn?.('salla-free-shipping-banner: init failed', e);
|
|
49
86
|
}
|
|
50
87
|
}
|
|
88
|
+
refreshTimer() {
|
|
89
|
+
this.timer = getFreeShippingTimerState();
|
|
90
|
+
if (this.visible && this.timer?.visible) {
|
|
91
|
+
this.tick = this.tick ?? setInterval(() => this.refreshTimer(), 1000);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
this.stopTick();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
stopTick() {
|
|
98
|
+
clearInterval(this.tick);
|
|
99
|
+
this.tick = undefined;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* The timer chip is drawn from the theme's own colours: solid in the text colour ("ink")
|
|
103
|
+
* with the nearest opaque background behind the banner ("paper") as its text colour.
|
|
104
|
+
*/
|
|
105
|
+
measureInkAndPaper() {
|
|
106
|
+
const bar = this.host?.querySelector('.s-free-shipping-banner');
|
|
107
|
+
if (!bar)
|
|
108
|
+
return;
|
|
109
|
+
this.measuredBar = bar;
|
|
110
|
+
const ink = getComputedStyle(bar.parentElement || bar).color;
|
|
111
|
+
let paper = null;
|
|
112
|
+
for (let node = bar.parentElement; node; node = node.parentElement) {
|
|
113
|
+
const bg = getComputedStyle(node).backgroundColor;
|
|
114
|
+
if (!isTransparent(bg)) {
|
|
115
|
+
paper = bg;
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (!paper) {
|
|
120
|
+
const l = luminance(ink);
|
|
121
|
+
paper = l != null && l > 0.5 ? '#111418' : '#ffffff';
|
|
122
|
+
}
|
|
123
|
+
bar.style.setProperty('--s-fsb-ink', ink);
|
|
124
|
+
bar.style.setProperty('--s-fsb-paper', paper);
|
|
125
|
+
bar.classList.add('has-paper');
|
|
126
|
+
}
|
|
127
|
+
componentDidRender() {
|
|
128
|
+
// The colours do not change with the countdown: measure once per banner element (it is a new
|
|
129
|
+
// element each time the banner comes back), and again on a colour scheme change.
|
|
130
|
+
const bar = this.host?.querySelector('.s-free-shipping-banner');
|
|
131
|
+
if (bar && bar !== this.measuredBar) {
|
|
132
|
+
this.measureInkAndPaper();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
51
135
|
/** Store translation wins, the built-in label is the fallback for the current language. */
|
|
52
136
|
label(name) {
|
|
53
137
|
const label = LABELS?.[name]?.[this.locale];
|
|
54
138
|
return salla.lang.getWithDefault?.(`blocks.free_shipping_banner.${name}`, label) || label;
|
|
55
139
|
}
|
|
56
140
|
render() {
|
|
57
|
-
|
|
141
|
+
const timer = this.timer;
|
|
142
|
+
if (!this.visible || !timer?.visible) {
|
|
58
143
|
return null;
|
|
59
144
|
}
|
|
60
|
-
return (h(Host, null, h("div", { class: "container" }, h("section", { class: "s-free-shipping-banner", "aria-label": this.label('title') }, h("div", { class: "s-free-shipping-banner__inner" }, h("svg", { class: "s-free-shipping-banner__icon", viewBox: "0 0 48 32", "aria-hidden": "true" }, h("g", { class: "s-fsb-speed" }, h("path", { class: "s-fsb-line", d: "M3 11h7" }), h("path", { class: "s-fsb-line", d: "M1 16h5" }), h("path", { class: "s-fsb-line", d: "M4 21h6" })), h("g", { class: "s-fsb-body" }, h("rect", { class: "s-fsb-fill", x: "12", y: "5", width: "21", height: "16", rx: "2.5" }), h("path", { class: "s-fsb-fill", d: "M33 10h6.5a2 2 0 0 1 1.6.8l4.1 5.5c.5.7.8 1.5.8 2.4V21H33z" }), h("rect", { class: "s-fsb-fill", x: "12", y: "20", width: "34", height: "3.5", rx: "1.2" }), h("rect", { class: "s-fsb-window", x: "35", y: "12", width: "5.5", height: "4", rx: "1" })), h("circle", { class: "s-fsb-wheel", cx: "19.5", cy: "25.5", r: "3" }), h("circle", { class: "s-fsb-wheel", cx: "38", cy: "25.5", r: "3" })), h("p", { class: "s-free-shipping-banner__text" }, h("strong", null, this.label('title')), h("span", { class: "s-free-shipping-banner__desc" }, this.label('description'))), h("span", { class: "s-free-shipping-
|
|
145
|
+
return (h(Host, null, h("div", { class: "container" }, h("section", { class: "s-free-shipping-banner", "aria-label": this.label('title') }, h("div", { class: "s-free-shipping-banner__inner" }, h("svg", { class: "s-free-shipping-banner__icon", viewBox: "0 0 48 32", "aria-hidden": "true" }, h("g", { class: "s-fsb-speed" }, h("path", { class: "s-fsb-line", d: "M3 11h7" }), h("path", { class: "s-fsb-line", d: "M1 16h5" }), h("path", { class: "s-fsb-line", d: "M4 21h6" })), h("g", { class: "s-fsb-body" }, h("rect", { class: "s-fsb-fill", x: "12", y: "5", width: "21", height: "16", rx: "2.5" }), h("path", { class: "s-fsb-fill", d: "M33 10h6.5a2 2 0 0 1 1.6.8l4.1 5.5c.5.7.8 1.5.8 2.4V21H33z" }), h("rect", { class: "s-fsb-fill", x: "12", y: "20", width: "34", height: "3.5", rx: "1.2" }), h("rect", { class: "s-fsb-window", x: "35", y: "12", width: "5.5", height: "4", rx: "1" })), h("circle", { class: "s-fsb-wheel", cx: "19.5", cy: "25.5", r: "3" }), h("circle", { class: "s-fsb-wheel", cx: "38", cy: "25.5", r: "3" })), h("p", { class: "s-free-shipping-banner__text" }, h("strong", null, this.label('title')), h("span", { class: "s-free-shipping-banner__desc" }, this.label('description'))), h("span", { class: "s-free-shipping-banner__timer" }, h("svg", { viewBox: "0 0 24 24", "aria-hidden": "true" }, h("circle", { cx: "12", cy: "12", r: "8" }), h("path", { d: "M12 8v4l3 2" })), h("span", { class: "s-free-shipping-banner__label" }, this.label('ends_in')), h("span", { class: "s-free-shipping-banner__clock", role: "timer" }, formatClock(timer.remainingMs))))))));
|
|
61
146
|
}
|
|
147
|
+
get host() { return this; }
|
|
62
148
|
static get style() { return sallaFreeShippingBannerCss; }
|
|
63
149
|
}, [0, "salla-free-shipping-banner", {
|
|
64
150
|
"placement": [1],
|
|
65
151
|
"locale": [32],
|
|
66
|
-
"visible": [32]
|
|
152
|
+
"visible": [32],
|
|
153
|
+
"timer": [32]
|
|
67
154
|
}]);
|
|
68
155
|
function defineCustomElement$1() {
|
|
69
156
|
if (typeof customElements === "undefined") {
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
4
|
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
5
|
-
import { i as isEligibleForFreeShipping } from './free-shipping.js';
|
|
5
|
+
import { g as getFreeShippingTimerState, a as isTimerEnabled, b as subscribeToFreeShippingTimer, i as isEligibleForFreeShipping } from './free-shipping-timer.js';
|
|
6
6
|
|
|
7
|
-
const sallaFreeShippingTagCss = "/*!twlt*/salla-free-shipping-tag{display:block}.s-free-shipping-tag{display:inline-flex;align-items:center;gap:6px;margin-block-start:0.5rem;margin-bottom:1.25rem;padding:4px 10px;border-radius:8px;font-size:13px;line-height:1.4;color:#7a4b0c;background:rgba(245, 158, 11, 0.14)}.s-free-shipping-tag svg{inline-size:16px;block-size:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}";
|
|
7
|
+
const sallaFreeShippingTagCss = "/*!twlt*/salla-free-shipping-tag{display:block}.s-free-shipping-tag{display:inline-flex;align-items:center;gap:6px;margin-block-start:0.5rem;margin-bottom:1.25rem;padding:4px 10px;border-radius:8px;font-size:13px;line-height:1.4;color:#7a4b0c;background:rgba(245, 158, 11, 0.14)}.s-free-shipping-tag svg{inline-size:16px;block-size:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.visible{visibility:visible}.hidden{display:none}";
|
|
8
8
|
|
|
9
9
|
const SallaFreeShippingTag$1 = /*@__PURE__*/ proxyCustomElement(class SallaFreeShippingTag extends HTMLElement {
|
|
10
10
|
constructor() {
|
|
@@ -15,13 +15,26 @@ const SallaFreeShippingTag$1 = /*@__PURE__*/ proxyCustomElement(class SallaFreeS
|
|
|
15
15
|
/** With `fromProductCard`, whether the tag is shown. */
|
|
16
16
|
this.showFreeShipping = false;
|
|
17
17
|
this.isFree = false;
|
|
18
|
+
this.timerHidden = false;
|
|
18
19
|
this.label = '';
|
|
19
20
|
}
|
|
21
|
+
disconnectedCallback() {
|
|
22
|
+
this.unsubscribe?.();
|
|
23
|
+
}
|
|
24
|
+
// The banner records when the visitor first saw it. Until then, or with the feature off, nothing hides the tag.
|
|
25
|
+
refreshTimer() {
|
|
26
|
+
this.timerHidden = getFreeShippingTimerState()?.visible === false;
|
|
27
|
+
}
|
|
20
28
|
async componentWillLoad() {
|
|
21
29
|
try {
|
|
22
30
|
await salla.onReady();
|
|
23
31
|
await salla.lang.onLoaded();
|
|
24
32
|
const fallback = salla.lang.getLocale?.() === 'en' ? 'Free shipping' : 'شحن مجاني';
|
|
33
|
+
// Only follow the timer when there is one (feature on and timer settings present).
|
|
34
|
+
if (isTimerEnabled()) {
|
|
35
|
+
this.unsubscribe = subscribeToFreeShippingTimer(() => this.refreshTimer());
|
|
36
|
+
}
|
|
37
|
+
this.refreshTimer();
|
|
25
38
|
this.label =
|
|
26
39
|
salla.lang.getWithDefault?.('pages.products.free_shipping', fallback) || fallback;
|
|
27
40
|
if (this.fromProductCard) {
|
|
@@ -36,7 +49,7 @@ const SallaFreeShippingTag$1 = /*@__PURE__*/ proxyCustomElement(class SallaFreeS
|
|
|
36
49
|
}
|
|
37
50
|
}
|
|
38
51
|
render() {
|
|
39
|
-
if (!this.isFree) {
|
|
52
|
+
if (!this.isFree || this.timerHidden) {
|
|
40
53
|
return null;
|
|
41
54
|
}
|
|
42
55
|
return (h(Host, null, h("div", { class: "s-free-shipping-tag" }, h("svg", { viewBox: "0 0 24 24", "aria-hidden": "true" }, h("path", { d: "M3 6.5h11v9H3zM14 9.5h3.6l2.9 3.2v2.8H14" }), h("circle", { cx: "7.5", cy: "17", r: "1.8" }), h("circle", { cx: "17", cy: "17", r: "1.8" })), h("span", { class: "s-free-shipping-tag-label" }, this.label))));
|
|
@@ -48,6 +61,7 @@ const SallaFreeShippingTag$1 = /*@__PURE__*/ proxyCustomElement(class SallaFreeS
|
|
|
48
61
|
"fromProductCard": [4, "from-product-card"],
|
|
49
62
|
"showFreeShipping": [4, "show-free-shipping"],
|
|
50
63
|
"isFree": [32],
|
|
64
|
+
"timerHidden": [32],
|
|
51
65
|
"label": [32]
|
|
52
66
|
}]);
|
|
53
67
|
function defineCustomElement$1() {
|
|
@@ -39,7 +39,7 @@ var Alert = `<!-- Generated by IcoMoon.io -->
|
|
|
39
39
|
</svg>
|
|
40
40
|
`;
|
|
41
41
|
|
|
42
|
-
const sallaGiftingCss = "/*!twlt*/.s-gifting-steps-wrapper{transition:height 0.8s cubic-bezier(0.55, 0, 0.1, 1) 0s}.s-gifting-select{background-image:url(\"data:image/svg+xml;utf8,<svg version='1.1' fill='gray' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'><title>keyboard_arrow_down</title><path d='M9.875 11.104l6.125 6.125 6.125-6.125 1.875 1.875-8 8-8-8z'></path></svg>\");background-size:24px;background-repeat:no-repeat;background-position:99%;appearance:none}[dir=rtl] .s-gifting-select{background-position:5px}.s-gifting-widget-vertical .s-list-tile-item [slot=title]{display:flex;align-items:center;gap:1.5rem}.s-gifting-widget-vertical .s-list-tile-item-content{width:100%}.s-gifting-modal .s-searchable-dropdown-trigger{border-color:#d1d5db}.s-gifting-modal .s-searchable-dropdown-trigger:hover:not(.s-searchable-dropdown-trigger--disabled){border-color:#d1d5db}.s-gifting-modal .s-searchable-dropdown-trigger--open,.s-gifting-modal .s-searchable-dropdown-trigger:focus{border-color:var(--color-primary, #00897b);box-shadow:0 0 0 1px var(--color-primary, #00897b)}.s-gifting-modal .s-searchable-dropdown-trigger-placeholder{color:#000}.s-gifting-modal .s-gifting-image-section{margin-bottom:1.5rem}.s-gifting-modal .s-gifting-slider{margin-bottom:0.5rem}.s-gifting-modal .s-gifting-image{display:block}.s-gifting-modal .s-gifting-image img{display:block;width:auto;height:100px;object-fit:contain}.s-gifting-modal .s-gifting-image-section+.anime-item .s-gifting-text-title{margin-top:1rem}.s-gifting-step-in{animation:s-gifting-step-in 1200ms linear both}.s-gifting-step-out{animation:s-gifting-step-out 1200ms linear both}@keyframes s-gifting-step-in{0%{opacity:0;transform:translateX(var(--s-gifting-x))}2.5%{opacity:0.2;transform:translateX(calc(var(--s-gifting-x) * 0.8))}5%{opacity:0.428;transform:translateX(calc(var(--s-gifting-x) * 0.572))}7.5%{opacity:0.651;transform:translateX(calc(var(--s-gifting-x) * 0.349))}10%{opacity:0.845;transform:translateX(calc(var(--s-gifting-x) * 0.155))}12.5%{opacity:1;transform:translateX(0)}15%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.109))}17.5%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.175))}20%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.202))}22.5%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.2))}25%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.177))}27.5%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.141))}30%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.101))}32.5%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.062))}35%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.027))}37.5%{opacity:1;transform:translateX(0)}40%{opacity:0.981;transform:translateX(calc(var(--s-gifting-x) * 0.019))}42.5%{opacity:0.969;transform:translateX(calc(var(--s-gifting-x) * 0.031))}45%{opacity:0.964;transform:translateX(calc(var(--s-gifting-x) * 0.036))}47.5%{opacity:0.965;transform:translateX(calc(var(--s-gifting-x) * 0.035))}50%{opacity:0.969;transform:translateX(calc(var(--s-gifting-x) * 0.031))}52.5%{opacity:0.975;transform:translateX(calc(var(--s-gifting-x) * 0.025))}55%{opacity:0.982;transform:translateX(calc(var(--s-gifting-x) * 0.018))}57.5%{opacity:0.989;transform:translateX(calc(var(--s-gifting-x) * 0.011))}60%{opacity:0.995;transform:translateX(calc(var(--s-gifting-x) * 0.005))}62.5%{opacity:1;transform:translateX(0)}65%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.003))}67.5%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.005))}70%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.006))}72.5%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.006))}75%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.006))}77.5%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.004))}80%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.003))}82.5%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.002))}85%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.001))}87.5%{opacity:1;transform:translateX(0)}90%{opacity:0.999;transform:translateX(calc(var(--s-gifting-x) * 0.001))}92.5%{opacity:0.999;transform:translateX(calc(var(--s-gifting-x) * 0.001))}95%{opacity:0.999;transform:translateX(calc(var(--s-gifting-x) * 0.001))}97.5%{opacity:0.999;transform:translateX(calc(var(--s-gifting-x) * 0.001))}100%{opacity:1;transform:translateX(0)}}@keyframes s-gifting-step-out{0%{opacity:1;transform:translateX(0)}2.5%{opacity:0.8;transform:translateX(calc(var(--s-gifting-x) * 0.2))}5%{opacity:0.572;transform:translateX(calc(var(--s-gifting-x) * 0.428))}7.5%{opacity:0.349;transform:translateX(calc(var(--s-gifting-x) * 0.651))}10%{opacity:0.155;transform:translateX(calc(var(--s-gifting-x) * 0.845))}12.5%{opacity:0;transform:translateX(var(--s-gifting-x))}15%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.109))}17.5%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.175))}20%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.202))}22.5%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.2))}25%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.177))}27.5%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.141))}30%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.101))}32.5%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.062))}35%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.027))}37.5%{opacity:0;transform:translateX(var(--s-gifting-x))}40%{opacity:0.019;transform:translateX(calc(var(--s-gifting-x) * 0.981))}42.5%{opacity:0.031;transform:translateX(calc(var(--s-gifting-x) * 0.969))}45%{opacity:0.036;transform:translateX(calc(var(--s-gifting-x) * 0.964))}47.5%{opacity:0.035;transform:translateX(calc(var(--s-gifting-x) * 0.965))}50%{opacity:0.031;transform:translateX(calc(var(--s-gifting-x) * 0.969))}52.5%{opacity:0.025;transform:translateX(calc(var(--s-gifting-x) * 0.975))}55%{opacity:0.018;transform:translateX(calc(var(--s-gifting-x) * 0.982))}57.5%{opacity:0.011;transform:translateX(calc(var(--s-gifting-x) * 0.989))}60%{opacity:0.005;transform:translateX(calc(var(--s-gifting-x) * 0.995))}62.5%{opacity:0;transform:translateX(var(--s-gifting-x))}65%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.003))}67.5%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.005))}70%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.006))}72.5%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.006))}75%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.006))}77.5%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.004))}80%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.003))}82.5%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.002))}85%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.001))}87.5%{opacity:0;transform:translateX(var(--s-gifting-x))}90%{opacity:0.001;transform:translateX(calc(var(--s-gifting-x) * 0.999))}92.5%{opacity:0.001;transform:translateX(calc(var(--s-gifting-x) * 0.999))}95%{opacity:0.001;transform:translateX(calc(var(--s-gifting-x) * 0.999))}97.5%{opacity:0.001;transform:translateX(calc(var(--s-gifting-x) * 0.999))}100%{opacity:0;transform:translateX(var(--s-gifting-x))}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.static{position:static}.fixed{position:fixed}.relative{position:relative}.mt-1{margin-top:0.25rem}.block{display:block}.inline{display:inline}.hidden{display:none}.grow{flex-grow:1}.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))}.resize{resize:both}.opacity-0{opacity:0}.outline{outline-style:solid}.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}.has-error .s-form-label{color:#ff443a}.has-error .s-form-control,.has-error .s-tel-input-control,.has-error .s-datetime-picker-input{border-color:#ff443a;color:#ff443a}.s-hidden{display:none}.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-form-label{margin-bottom:0.25rem;display:block;font-size:0.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-form-group{margin-top:0.75rem;margin-bottom:0.75rem}.s-checkbox{cursor:pointer;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));appearance:none;background-color:#fff;margin:0;width:18px;height:18px;border-width:1px;border-radius:4px;display:grid;place-content:center}.s-checkbox:before{width:10px;height:10px;clip-path:polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);transform:scale(0);transform-origin:bottom left;transition:120ms transform ease-in-out;box-shadow:inset 1em 1em #444;background-color:#444}.s-checkbox:checked:before{transform:scale(1)}.s-checkbox::before{--tw-content:'';content:var(--tw-content)}.s-form-has-error .s-form-label{color:#ff443a}.s-form-has-error .s-form-control,.s-form-has-error .s-tel-input-control,.s-form-has-error .s-datetime-picker-input{border-color:#ff443a;color:#ff443a}.s-gifting-widget .s-list-tile-item-icon{display:none}.s-gifting-widget-vertical .s-list-tile-item-icon{display:block}.s-gifting-widget-vertical .s-list-tile-item-title svg{fill:var(--color-primary)}.s-gifting-widget-vertical .s-list-tile-item-subtitle{padding-right:3.5rem;font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-gifting-widget-vertical .s-list-tile-item{flex-wrap:wrap;padding:0px}@media (min-width: 1024px){.s-gifting-widget-vertical .s-list-tile-item-action{flex:1 1 0%}}.s-gifting-widget-vertical .widget-icon{--tw-translate-y:0.625rem;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:1.875rem;line-height:2.25rem;color:var(--color-primary)}.s-gifting-widget .s-button-text{display:flex}.s-gifting-widget .s-list-tile-item{flex-direction:column;justify-content:space-between;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:1.25rem;text-align:center}@media (min-width: 768px){.s-gifting-widget .s-list-tile-item{text-align:left}}@media (min-width: 1024px){.s-gifting-widget .s-list-tile-item{flex-direction:row}}@media (min-width: 768px){.s-gifting-widget .s-list-tile-item:where([dir=\"rtl\"],[dir=\"rtl\"] *){text-align:right}}.s-gifting-widget-horizontal .s-gifting-widget-action button{padding-left:2rem;padding-right:2rem;font-weight:400}.s-gifting-info{display:flex;align-items:center;gap:0.5rem;border-radius:0.5rem;--tw-border-opacity:1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1));padding:1rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.s-gifting-info svg{height:1.25rem;width:1.25rem;fill:#1d4ed8}.s-gifting-error{font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-gifting-info span{font-size:0.75rem;line-height:1rem}.s-gifting-widget-action-content{display:flex;align-items:center}.s-gifting-widget-action-content svg{margin-left:0.5rem;margin-right:0.5rem}.s-gifting-modal-header{margin-bottom:1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.s-gifting-modal .s-modal-header{display:block}.s-gifting-modal .s-modal-body{position:relative !important;left:unset !important;bottom:unset !important;padding-bottom:2rem}@media (min-width: 640px){.s-gifting-modal .s-modal-body{padding-bottom:1.5rem}}.s-gifting-modal-icon{margin-bottom:1.25rem;display:flex;height:5rem;width:5rem;flex-direction:row;align-items:center;justify-content:center;border-radius:9999px;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));font-size:1.875rem;line-height:2.25rem}.s-gifting-modal-title{display:flex;width:100%;align-items:center;justify-content:space-between}.s-gifting-modal-title::before{display:block;height:1px;flex:1 1 auto;--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1));--tw-content:'';content:var(--tw-content)}.s-gifting-modal-title::after{display:block;height:1px;flex:1 1 auto;--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1));--tw-content:'';content:var(--tw-content)}.s-gifting-modal-badge-wrapper{display:flex;align-items:center;padding-left:0.75rem;padding-right:0.75rem}.s-gifting-modal-badge{margin-right:0.5rem;border-radius:0.5rem;--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1));padding-left:0.5rem;padding-right:0.5rem;padding-top:0.25rem;padding-bottom:0.25rem;font-size:0.875rem;line-height:1.25rem}.s-gifting-modal-badge:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-right:0px;margin-left:0.5rem}.s-gifting-modal-uploader.has-bg{position:relative}.s-gifting-modal-uploader.has-bg .s-gifting-remove-preview{pointer-events:auto;--tw-scale-x:1;--tw-scale-y:1;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));opacity:1}.s-gifting-modal-uploader-title{margin-bottom:0.5rem;font-size:0.875rem;line-height:1.25rem}.s-gifting-steps-wrapper{position:relative}.s-gifting-steps-wrapper .s-button-wrap{pointer-events:auto !important}.is-current-step-2 .gift-step-1,.is-current-step-1 .gift-step-2{pointer-events:none;z-index:-1}.s-gifting-step-one{padding-top:1.25rem}.s-gifting-step-two{position:absolute;top:0px;left:0px;margin-left:auto;margin-right:auto;display:flex;width:100%;--tw-translate-x:-105%;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));flex-direction:column;opacity:0}.s-gifting-step-one .swiper-wrapper{height:100px}.s-gifting-step-one .swiper-slide{width:auto !important}.s-gifting-step-one .filepond--list-scroller{overflow-y:hidden}.s-gifting-step-one .swiper-wrapper img{border-radius:0.375rem;object-fit:cover}.s-gifting-step-one .filepond--root{height:230px}.s-gifting-step-one .filepond--list{left:0px !important;height:100% !important}.s-gifting-step-one .filepond-bg{position:absolute;top:0px;z-index:10;height:100%;width:100%;border-radius:var(--s-radius, 0.25rem);--tw-bg-opacity:1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1));background-size:cover}.s-gifting-step-one .s-slider-button-next{top:35% !important}.s-gifting-step-one .s-slider-button-next button{height:35px;width:35px;--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)}.s-gifting-step-one .s-slider-button-prev{top:35% !important}.s-gifting-step-one .s-slider-button-prev button{height:35px;width:35px;--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)}.s-gifting-tel-input .s-tel-input-control{--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.s-gifting-tel-input .s-tel-input-error-msg{display:none}.s-gifting-step-two-footer{margin-top:1.25rem;display:flex;flex-direction:row;align-items:center;justify-content:center}.s-gifting-step-two-footer>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.625rem * var(--tw-space-x-reverse));margin-left:calc(0.625rem * calc(1 - var(--tw-space-x-reverse)))}.s-gifting-step-two-footer:where([dir=\"rtl\"],[dir=\"rtl\"] *){flex-direction:row-reverse}.s-gifting-step-two-footer a{border-radius:0.375rem;border-width:1px;border-color:var(--color-primary);fill:var(--color-primary);padding-top:8px;padding-bottom:8px;padding-left:25px;padding-right:25px}.s-gifting-step-two-footer a svg{height:1.25rem;width:1.25rem}.s-gifting-step-two .s-form-group.s-form-has-error .s-tel-input-control{--tw-border-opacity:1 !important;border-color:rgb(255 68 58 / var(--tw-border-opacity, 1)) !important}.s-gifting-selectText{margin-bottom:20px !important}.s-gifting-schedule .s-form-label{margin-bottom:0px !important}.s-gifting-schedule{margin-bottom:0.5rem;display:flex;align-items:center;justify-content:flex-start}.s-gifting-schedule>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.375rem * var(--tw-space-x-reverse));margin-left:calc(0.375rem * calc(1 - var(--tw-space-x-reverse)))}.s-gifting-schedule:where([dir=\"rtl\"],[dir=\"rtl\"] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.s-gifting-clickable{cursor:pointer}.s-gifting-remove-preview{pointer-events:none;position:absolute;top:-7px;left:-7px;z-index:10;display:flex;height:1.25rem;width:1.25rem;--tw-scale-x:0;--tw-scale-y:0;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));cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1));text-align:center;font-size:1rem;line-height:1.5rem;--tw-text-opacity:1;color:rgb(255 255 255 / 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-gifting-remove-preview:where([dir=\"rtl\"],[dir=\"rtl\"] *){left:unset;right:-7px}.s-gifting-remove-preview svg{height:100%;width:15px;fill:#fff}.s-gifting-textarea{transition-property:all;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.s-gifting-calendar-hint{font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.s-gifting-calendar.shown{margin-top:0.75rem;height:75px;opacity:1}.s-gifting-textarea.shown{height:122px;opacity:1}.s-gifting-calendar.hide{pointer-events:none;visibility:hidden;margin:0px;height:0px;opacity:0}.s-gifting-textarea.hide{pointer-events:none;visibility:hidden;margin:0px;height:0px;opacity:0}.s-gifting-filepond-placeholder-icon svg{margin-top:12px;margin-bottom:12px;margin-left:auto;margin-right:auto;height:4rem;width:3rem;fill:#e5e7eb}.s-gifting-filepond-placeholder-text{margin-left:auto;margin-right:auto;width:65%;min-width:18rem;font-size:0.75rem !important;line-height:1rem !important;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));margin-top:0.75rem;margin-bottom:0.75rem;font-family:var(--font-main), -apple-system, BlinkMacSystemFont}.s-gifting-skeleton-content salla-skeleton:nth-child(1){margin-bottom:0.75rem}.s-gifting-skeleton-content salla-skeleton:nth-child(2){margin-bottom:1.25rem}.s-gifting-skeleton-content salla-skeleton:nth-child(3){margin-bottom:0.75rem}.s-gifting-skeleton-content salla-skeleton:nth-child(4){margin-bottom:1.25rem}.s-gifting-skeleton .s-gifting-modal-header salla-skeleton{margin-bottom:1.25rem}.s-gifting-skeleton .s-gifting-modal-title{margin-bottom:1.25rem}.s-gifting-image{margin-left:5px;margin-right:5px}";
|
|
42
|
+
const sallaGiftingCss = "/*!twlt*/.s-gifting-steps-wrapper{transition:height 0.8s cubic-bezier(0.55, 0, 0.1, 1) 0s}.s-gifting-select{background-image:url(\"data:image/svg+xml;utf8,<svg version='1.1' fill='gray' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'><title>keyboard_arrow_down</title><path d='M9.875 11.104l6.125 6.125 6.125-6.125 1.875 1.875-8 8-8-8z'></path></svg>\");background-size:24px;background-repeat:no-repeat;background-position:99%;appearance:none}[dir=rtl] .s-gifting-select{background-position:5px}.s-gifting-widget-vertical .s-list-tile-item [slot=title]{display:flex;align-items:center;gap:1.5rem}.s-gifting-widget-vertical .s-list-tile-item-content{width:100%}.s-gifting-modal .s-searchable-dropdown-trigger{border-color:#d1d5db}.s-gifting-modal .s-searchable-dropdown-trigger:hover:not(.s-searchable-dropdown-trigger--disabled){border-color:#d1d5db}.s-gifting-modal .s-searchable-dropdown-trigger--open,.s-gifting-modal .s-searchable-dropdown-trigger:focus{border-color:var(--color-primary, #00897b);box-shadow:0 0 0 1px var(--color-primary, #00897b)}.s-gifting-modal .s-searchable-dropdown-trigger-placeholder{color:#000}.s-gifting-modal .s-gifting-image-section{margin-bottom:1.5rem}.s-gifting-modal .s-gifting-slider{margin-bottom:0.5rem}.s-gifting-modal .s-gifting-image{display:block}.s-gifting-modal .s-gifting-image img{display:block;width:auto;height:100px;object-fit:contain}.s-gifting-modal .s-gifting-image-section+.anime-item .s-gifting-text-title{margin-top:1rem}.s-gifting-step-in{animation:s-gifting-step-in 1200ms linear both}.s-gifting-step-out{animation:s-gifting-step-out 1200ms linear both}@keyframes s-gifting-step-in{0%{opacity:0;transform:translateX(var(--s-gifting-x))}2.5%{opacity:0.2;transform:translateX(calc(var(--s-gifting-x) * 0.8))}5%{opacity:0.428;transform:translateX(calc(var(--s-gifting-x) * 0.572))}7.5%{opacity:0.651;transform:translateX(calc(var(--s-gifting-x) * 0.349))}10%{opacity:0.845;transform:translateX(calc(var(--s-gifting-x) * 0.155))}12.5%{opacity:1;transform:translateX(0)}15%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.109))}17.5%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.175))}20%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.202))}22.5%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.2))}25%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.177))}27.5%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.141))}30%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.101))}32.5%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.062))}35%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.027))}37.5%{opacity:1;transform:translateX(0)}40%{opacity:0.981;transform:translateX(calc(var(--s-gifting-x) * 0.019))}42.5%{opacity:0.969;transform:translateX(calc(var(--s-gifting-x) * 0.031))}45%{opacity:0.964;transform:translateX(calc(var(--s-gifting-x) * 0.036))}47.5%{opacity:0.965;transform:translateX(calc(var(--s-gifting-x) * 0.035))}50%{opacity:0.969;transform:translateX(calc(var(--s-gifting-x) * 0.031))}52.5%{opacity:0.975;transform:translateX(calc(var(--s-gifting-x) * 0.025))}55%{opacity:0.982;transform:translateX(calc(var(--s-gifting-x) * 0.018))}57.5%{opacity:0.989;transform:translateX(calc(var(--s-gifting-x) * 0.011))}60%{opacity:0.995;transform:translateX(calc(var(--s-gifting-x) * 0.005))}62.5%{opacity:1;transform:translateX(0)}65%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.003))}67.5%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.005))}70%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.006))}72.5%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.006))}75%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.006))}77.5%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.004))}80%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.003))}82.5%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.002))}85%{opacity:1;transform:translateX(calc(var(--s-gifting-x) * -0.001))}87.5%{opacity:1;transform:translateX(0)}90%{opacity:0.999;transform:translateX(calc(var(--s-gifting-x) * 0.001))}92.5%{opacity:0.999;transform:translateX(calc(var(--s-gifting-x) * 0.001))}95%{opacity:0.999;transform:translateX(calc(var(--s-gifting-x) * 0.001))}97.5%{opacity:0.999;transform:translateX(calc(var(--s-gifting-x) * 0.001))}100%{opacity:1;transform:translateX(0)}}@keyframes s-gifting-step-out{0%{opacity:1;transform:translateX(0)}2.5%{opacity:0.8;transform:translateX(calc(var(--s-gifting-x) * 0.2))}5%{opacity:0.572;transform:translateX(calc(var(--s-gifting-x) * 0.428))}7.5%{opacity:0.349;transform:translateX(calc(var(--s-gifting-x) * 0.651))}10%{opacity:0.155;transform:translateX(calc(var(--s-gifting-x) * 0.845))}12.5%{opacity:0;transform:translateX(var(--s-gifting-x))}15%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.109))}17.5%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.175))}20%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.202))}22.5%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.2))}25%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.177))}27.5%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.141))}30%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.101))}32.5%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.062))}35%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.027))}37.5%{opacity:0;transform:translateX(var(--s-gifting-x))}40%{opacity:0.019;transform:translateX(calc(var(--s-gifting-x) * 0.981))}42.5%{opacity:0.031;transform:translateX(calc(var(--s-gifting-x) * 0.969))}45%{opacity:0.036;transform:translateX(calc(var(--s-gifting-x) * 0.964))}47.5%{opacity:0.035;transform:translateX(calc(var(--s-gifting-x) * 0.965))}50%{opacity:0.031;transform:translateX(calc(var(--s-gifting-x) * 0.969))}52.5%{opacity:0.025;transform:translateX(calc(var(--s-gifting-x) * 0.975))}55%{opacity:0.018;transform:translateX(calc(var(--s-gifting-x) * 0.982))}57.5%{opacity:0.011;transform:translateX(calc(var(--s-gifting-x) * 0.989))}60%{opacity:0.005;transform:translateX(calc(var(--s-gifting-x) * 0.995))}62.5%{opacity:0;transform:translateX(var(--s-gifting-x))}65%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.003))}67.5%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.005))}70%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.006))}72.5%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.006))}75%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.006))}77.5%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.004))}80%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.003))}82.5%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.002))}85%{opacity:0;transform:translateX(calc(var(--s-gifting-x) * 1.001))}87.5%{opacity:0;transform:translateX(var(--s-gifting-x))}90%{opacity:0.001;transform:translateX(calc(var(--s-gifting-x) * 0.999))}92.5%{opacity:0.001;transform:translateX(calc(var(--s-gifting-x) * 0.999))}95%{opacity:0.001;transform:translateX(calc(var(--s-gifting-x) * 0.999))}97.5%{opacity:0.001;transform:translateX(calc(var(--s-gifting-x) * 0.999))}100%{opacity:0;transform:translateX(var(--s-gifting-x))}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.relative{position:relative}.mt-1{margin-top:0.25rem}.block{display:block}.inline{display:inline}.hidden{display:none}.grow{flex-grow:1}.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))}.resize{resize:both}.opacity-0{opacity:0}.outline{outline-style:solid}.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}.has-error .s-form-label{color:#ff443a}.has-error .s-form-control,.has-error .s-tel-input-control,.has-error .s-datetime-picker-input{border-color:#ff443a;color:#ff443a}.s-hidden{display:none}.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-form-label{margin-bottom:0.25rem;display:block;font-size:0.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-form-group{margin-top:0.75rem;margin-bottom:0.75rem}.s-checkbox{cursor:pointer;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));appearance:none;background-color:#fff;margin:0;width:18px;height:18px;border-width:1px;border-radius:4px;display:grid;place-content:center}.s-checkbox:before{width:10px;height:10px;clip-path:polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);transform:scale(0);transform-origin:bottom left;transition:120ms transform ease-in-out;box-shadow:inset 1em 1em #444;background-color:#444}.s-checkbox:checked:before{transform:scale(1)}.s-checkbox::before{--tw-content:'';content:var(--tw-content)}.s-form-has-error .s-form-label{color:#ff443a}.s-form-has-error .s-form-control,.s-form-has-error .s-tel-input-control,.s-form-has-error .s-datetime-picker-input{border-color:#ff443a;color:#ff443a}.s-gifting-widget .s-list-tile-item-icon{display:none}.s-gifting-widget-vertical .s-list-tile-item-icon{display:block}.s-gifting-widget-vertical .s-list-tile-item-title svg{fill:var(--color-primary)}.s-gifting-widget-vertical .s-list-tile-item-subtitle{padding-right:3.5rem;font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-gifting-widget-vertical .s-list-tile-item{flex-wrap:wrap;padding:0px}@media (min-width: 1024px){.s-gifting-widget-vertical .s-list-tile-item-action{flex:1 1 0%}}.s-gifting-widget-vertical .widget-icon{--tw-translate-y:0.625rem;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:1.875rem;line-height:2.25rem;color:var(--color-primary)}.s-gifting-widget .s-button-text{display:flex}.s-gifting-widget .s-list-tile-item{flex-direction:column;justify-content:space-between;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:1.25rem;text-align:center}@media (min-width: 768px){.s-gifting-widget .s-list-tile-item{text-align:left}}@media (min-width: 1024px){.s-gifting-widget .s-list-tile-item{flex-direction:row}}@media (min-width: 768px){.s-gifting-widget .s-list-tile-item:where([dir=\"rtl\"],[dir=\"rtl\"] *){text-align:right}}.s-gifting-widget-horizontal .s-gifting-widget-action button{padding-left:2rem;padding-right:2rem;font-weight:400}.s-gifting-info{display:flex;align-items:center;gap:0.5rem;border-radius:0.5rem;--tw-border-opacity:1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1));padding:1rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.s-gifting-info svg{height:1.25rem;width:1.25rem;fill:#1d4ed8}.s-gifting-error{font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-gifting-info span{font-size:0.75rem;line-height:1rem}.s-gifting-widget-action-content{display:flex;align-items:center}.s-gifting-widget-action-content svg{margin-left:0.5rem;margin-right:0.5rem}.s-gifting-modal-header{margin-bottom:1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.s-gifting-modal .s-modal-header{display:block}.s-gifting-modal .s-modal-body{position:relative !important;left:unset !important;bottom:unset !important;padding-bottom:2rem}@media (min-width: 640px){.s-gifting-modal .s-modal-body{padding-bottom:1.5rem}}.s-gifting-modal-icon{margin-bottom:1.25rem;display:flex;height:5rem;width:5rem;flex-direction:row;align-items:center;justify-content:center;border-radius:9999px;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));font-size:1.875rem;line-height:2.25rem}.s-gifting-modal-title{display:flex;width:100%;align-items:center;justify-content:space-between}.s-gifting-modal-title::before{display:block;height:1px;flex:1 1 auto;--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1));--tw-content:'';content:var(--tw-content)}.s-gifting-modal-title::after{display:block;height:1px;flex:1 1 auto;--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1));--tw-content:'';content:var(--tw-content)}.s-gifting-modal-badge-wrapper{display:flex;align-items:center;padding-left:0.75rem;padding-right:0.75rem}.s-gifting-modal-badge{margin-right:0.5rem;border-radius:0.5rem;--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1));padding-left:0.5rem;padding-right:0.5rem;padding-top:0.25rem;padding-bottom:0.25rem;font-size:0.875rem;line-height:1.25rem}.s-gifting-modal-badge:where([dir=\"rtl\"],[dir=\"rtl\"] *){margin-right:0px;margin-left:0.5rem}.s-gifting-modal-uploader.has-bg{position:relative}.s-gifting-modal-uploader.has-bg .s-gifting-remove-preview{pointer-events:auto;--tw-scale-x:1;--tw-scale-y:1;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));opacity:1}.s-gifting-modal-uploader-title{margin-bottom:0.5rem;font-size:0.875rem;line-height:1.25rem}.s-gifting-steps-wrapper{position:relative}.s-gifting-steps-wrapper .s-button-wrap{pointer-events:auto !important}.is-current-step-2 .gift-step-1,.is-current-step-1 .gift-step-2{pointer-events:none;z-index:-1}.s-gifting-step-one{padding-top:1.25rem}.s-gifting-step-two{position:absolute;top:0px;left:0px;margin-left:auto;margin-right:auto;display:flex;width:100%;--tw-translate-x:-105%;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));flex-direction:column;opacity:0}.s-gifting-step-one .swiper-wrapper{height:100px}.s-gifting-step-one .swiper-slide{width:auto !important}.s-gifting-step-one .filepond--list-scroller{overflow-y:hidden}.s-gifting-step-one .swiper-wrapper img{border-radius:0.375rem;object-fit:cover}.s-gifting-step-one .filepond--root{height:230px}.s-gifting-step-one .filepond--list{left:0px !important;height:100% !important}.s-gifting-step-one .filepond-bg{position:absolute;top:0px;z-index:10;height:100%;width:100%;border-radius:var(--s-radius, 0.25rem);--tw-bg-opacity:1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1));background-size:cover}.s-gifting-step-one .s-slider-button-next{top:35% !important}.s-gifting-step-one .s-slider-button-next button{height:35px;width:35px;--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)}.s-gifting-step-one .s-slider-button-prev{top:35% !important}.s-gifting-step-one .s-slider-button-prev button{height:35px;width:35px;--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)}.s-gifting-tel-input .s-tel-input-control{--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.s-gifting-tel-input .s-tel-input-error-msg{display:none}.s-gifting-step-two-footer{margin-top:1.25rem;display:flex;flex-direction:row;align-items:center;justify-content:center}.s-gifting-step-two-footer>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.625rem * var(--tw-space-x-reverse));margin-left:calc(0.625rem * calc(1 - var(--tw-space-x-reverse)))}.s-gifting-step-two-footer:where([dir=\"rtl\"],[dir=\"rtl\"] *){flex-direction:row-reverse}.s-gifting-step-two-footer a{border-radius:0.375rem;border-width:1px;border-color:var(--color-primary);fill:var(--color-primary);padding-top:8px;padding-bottom:8px;padding-left:25px;padding-right:25px}.s-gifting-step-two-footer a svg{height:1.25rem;width:1.25rem}.s-gifting-step-two .s-form-group.s-form-has-error .s-tel-input-control{--tw-border-opacity:1 !important;border-color:rgb(255 68 58 / var(--tw-border-opacity, 1)) !important}.s-gifting-selectText{margin-bottom:20px !important}.s-gifting-schedule .s-form-label{margin-bottom:0px !important}.s-gifting-schedule{margin-bottom:0.5rem;display:flex;align-items:center;justify-content:flex-start}.s-gifting-schedule>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.375rem * var(--tw-space-x-reverse));margin-left:calc(0.375rem * calc(1 - var(--tw-space-x-reverse)))}.s-gifting-schedule:where([dir=\"rtl\"],[dir=\"rtl\"] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.s-gifting-clickable{cursor:pointer}.s-gifting-remove-preview{pointer-events:none;position:absolute;top:-7px;left:-7px;z-index:10;display:flex;height:1.25rem;width:1.25rem;--tw-scale-x:0;--tw-scale-y:0;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));cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1));text-align:center;font-size:1rem;line-height:1.5rem;--tw-text-opacity:1;color:rgb(255 255 255 / 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-gifting-remove-preview:where([dir=\"rtl\"],[dir=\"rtl\"] *){left:unset;right:-7px}.s-gifting-remove-preview svg{height:100%;width:15px;fill:#fff}.s-gifting-textarea{transition-property:all;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.s-gifting-calendar-hint{font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.s-gifting-calendar.shown{margin-top:0.75rem;height:75px;opacity:1}.s-gifting-textarea.shown{height:142px;opacity:1}.s-gifting-textarea-counter{margin-top:0.25rem;text-align:end;font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-gifting-textarea-counter.limit{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-gifting-calendar.hide{pointer-events:none;visibility:hidden;margin:0px;height:0px;opacity:0}.s-gifting-textarea.hide{pointer-events:none;visibility:hidden;margin:0px;height:0px;opacity:0}.s-gifting-filepond-placeholder-icon svg{margin-top:12px;margin-bottom:12px;margin-left:auto;margin-right:auto;height:4rem;width:3rem;fill:#e5e7eb}.s-gifting-filepond-placeholder-text{margin-left:auto;margin-right:auto;width:65%;min-width:18rem;font-size:0.75rem !important;line-height:1rem !important;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));margin-top:0.75rem;margin-bottom:0.75rem;font-family:var(--font-main), -apple-system, BlinkMacSystemFont}.s-gifting-skeleton-content salla-skeleton:nth-child(1){margin-bottom:0.75rem}.s-gifting-skeleton-content salla-skeleton:nth-child(2){margin-bottom:1.25rem}.s-gifting-skeleton-content salla-skeleton:nth-child(3){margin-bottom:0.75rem}.s-gifting-skeleton-content salla-skeleton:nth-child(4){margin-bottom:1.25rem}.s-gifting-skeleton .s-gifting-modal-header salla-skeleton{margin-bottom:1.25rem}.s-gifting-skeleton .s-gifting-modal-title{margin-bottom:1.25rem}.s-gifting-image{margin-left:5px;margin-right:5px}";
|
|
43
43
|
|
|
44
44
|
const SallaGifting$1 = /*@__PURE__*/ proxyCustomElement(class SallaGifting extends HTMLElement {
|
|
45
45
|
constructor() {
|
|
@@ -492,7 +492,9 @@ const SallaGifting$1 = /*@__PURE__*/ proxyCustomElement(class SallaGifting exten
|
|
|
492
492
|
this.showGiftText = customID;
|
|
493
493
|
if (dataID) {
|
|
494
494
|
this.selectedGiftTextOption = dataID;
|
|
495
|
-
|
|
495
|
+
// Returning to the custom option keeps whatever is still typed in the box,
|
|
496
|
+
// so the counter and the submitted payload match the visible text.
|
|
497
|
+
customID ? this.selectedText = this.textArea?.value || undefined : this.selectedText = event.target.value;
|
|
496
498
|
}
|
|
497
499
|
else {
|
|
498
500
|
// empty textarea value
|
|
@@ -883,7 +885,7 @@ const SallaGifting$1 = /*@__PURE__*/ proxyCustomElement(class SallaGifting exten
|
|
|
883
885
|
}
|
|
884
886
|
render() {
|
|
885
887
|
return [
|
|
886
|
-
h("div", { key: '
|
|
888
|
+
h("div", { key: '3c86d3d5d9e610d9e6b802dce4355289c90329b0' }, h("salla-list-tile", { key: '5476098174aa8cb222c3240c8b07b3cbe757484e', class: this.generateClass() }, h("div", { key: '3759c2830dd8353c9a2294e936ae7b69d823ee36', slot: "title" }, this.vertical ? h("span", { innerHTML: SIGiftSharing }) : '', h("h3", { key: '603c25804e96cc80bbe2b8c802ae764947466ad2' }, !!this.widgetTitle ? this.widgetTitle : this.sectionTitle)), h("div", { key: '605f42d920a49ca2e761b99d6539cd404e89f498', slot: "subtitle" }, h("div", { key: 'd06dd23bf140007156dc2653653c809fd5c11feb' }, !!this.widgetSubtitle ? this.widgetSubtitle : this.sectionSubtitle)), h("div", { key: 'a344e34b453f1ff0289fc57ad08935434d774b4f', slot: "action" }, h("salla-button", { key: '2e6af7eabf350b60513edb9252fd110f0eccb4b7', color: "primary", fill: "outline", width: "wide", class: "s-gifting-widget-action", onClick: () => this.handleGiftButtonClick() }, h("slot", { key: '8bf491757bca99df94abbe2e6dacf54e15155e05', name: "widget-btn-content" }, h("div", { key: '9d45121e40c1f49936f9b2b6eb57a5605eca0e45', class: "s-gifting-widget-action-content" }, h("span", { key: '1a7524843066252c6148f1d57c6c08a255b2d70d', innerHTML: SIGiftSharing }), " \u00A0", h("span", { key: '5b82d168b21ee5651f28a80776303137af6cf81d' }, this.sectionBtnText)))))), h("salla-modal", { key: '7901154aa0aa9925ca79df482566b69e2c30ad0a', id: this.hostId, isLoading: true, class: "s-gifting-modal", width: "sm", ref: modal => this.modal = modal }, h("div", { key: '4de9f1e21e6bae9eac1a58a419809befeef4aa9b', slot: "loading" }, h("div", { key: '483d223daa491ebb09bcf6a814ef1f8de7ca2ada', class: "s-gifting-skeleton" }, h("div", { key: '495b5fc2978480dcc52abbba0d3da92b503901b4', class: "s-gifting-modal-header" }, h("salla-skeleton", { key: '993e9d6d0a9f7df11746b925296308576ea22cd2', type: 'circle', height: '5rem', width: '5rem' }), h("h2", { key: '08d6a35d3084a32c71437e4a00e789b154645f87', class: "s-gifting-modal-title" }, h("div", { key: '02a659c96a2039e4c7b28857348d2d5c246d4a40', class: "s-gifting-modal-badge-wrapper" }, h("salla-skeleton", { key: '3e1fb71d0cf7ed41f8dccd7dda035ed6c3463cbc', height: '15px', width: '150px' })))), h("div", { key: 'dd6a845ceff281683981b5685663b24c586abeb1', class: "s-gifting-skeleton-content" }, h("salla-skeleton", { key: 'f46a265bdb7e84e35ee7f78d8b039a29549ef235', height: '10px', width: '150px' }), h("salla-skeleton", { key: '6522ab7db38190320322d9cb7487d0873a03585a', height: '230px' }), h("salla-skeleton", { key: 'a17ae0ee2c71fa81ff346be989eb1db14d21c989', height: '10px', width: '150px' }), h("salla-skeleton", { key: '4f80b722d3b24ed9ee11e88b63e5f831b4eae377', height: '30px' }), h("salla-skeleton", { key: 'e4a9d769197cc6f58f96ce92affdf9dd2b38b8a6', height: '40px' })))), h("slot", { key: '7d76198a32dffd257d97873b0971ea8fa5aa8a0f', name: "header" }), !!this.hasError ?
|
|
887
889
|
h("salla-placeholder", { alignment: "center" }, h("span", { slot: "title" }, this.errorMessage || salla.lang.get('common.errors.empty_results')), h("span", { slot: "description" }, " "))
|
|
888
890
|
:
|
|
889
891
|
[
|
|
@@ -895,7 +897,10 @@ const SallaGifting$1 = /*@__PURE__*/ proxyCustomElement(class SallaGifting exten
|
|
|
895
897
|
this.gift?.gift_images.map((item) => h("a", { class: "s-gifting-clickable s-gifting-image", onClick: () => this.setPreview(item) }, h("img", { src: item.url, alt: `${item.id}` }))) : ''))
|
|
896
898
|
: "")), this.gift && this.gift.show_texts ?
|
|
897
899
|
h("div", { class: "anime-item" }, h("div", { class: "s-gifting-modal-uploader-title s-gifting-text-title" }, this.giftText), h("div", { class: "s-form-group s-gifting-selectText", ref: el => this.textSelect = el }, h("select", { id: "gift-text-selection", name: "gift-text-selection", class: "s-form-control s-gifting-select", onChange: e => this.toggleGiftText(e) }, h("option", { "data-id": null, selected: !this.selectedGiftTextOption }, this.selectGiftMessage), this.gift && this.gift.gift_texts ?
|
|
898
|
-
this.gift?.gift_texts.map((txt) => h("option", { "data-id": txt.id, value: txt.text, key: txt.id, selected: String(this.selectedGiftTextOption) === String(txt.id) }, txt.text)) : '', this.gift && this.gift.show_custom_text ? h("option", { "data-id": "custom", selected: this.selectedGiftTextOption === 'custom' }, this.giftCustomText) : null)), h("div", { class: this.showGiftText && this.gift && this.gift.show_custom_text ? "s-form-group s-gifting-textarea shown" : "s-form-group s-gifting-textarea hide", ref: (el) => this.customTextArea = el }, h("label", { htmlFor: "gift-custom-text", class: "s-form-label" }, this.giftCustomText), h("div", { class: "mt-1" }, h("textarea", { onInput: (event) => this.handleTextAreaChange(event), rows: 4, ref: (el) => this.textArea = el, name: "gift-custom-text", id: "gift-custom-text", class: "s-form-control" }))
|
|
900
|
+
this.gift?.gift_texts.map((txt) => h("option", { "data-id": txt.id, value: txt.text, key: txt.id, selected: String(this.selectedGiftTextOption) === String(txt.id) }, txt.text)) : '', this.gift && this.gift.show_custom_text ? h("option", { "data-id": "custom", selected: this.selectedGiftTextOption === 'custom' }, this.giftCustomText) : null)), h("div", { class: this.showGiftText && this.gift && this.gift.show_custom_text ? "s-form-group s-gifting-textarea shown" : "s-form-group s-gifting-textarea hide", ref: (el) => this.customTextArea = el }, h("label", { htmlFor: "gift-custom-text", class: "s-form-label" }, this.giftCustomText), h("div", { class: "mt-1" }, h("textarea", { onInput: (event) => this.handleTextAreaChange(event), rows: 4, maxLength: SallaGifting.CUSTOM_TEXT_MAX_LENGTH, ref: (el) => this.textArea = el, name: "gift-custom-text", id: "gift-custom-text", class: "s-form-control" })), h("p", { class: {
|
|
901
|
+
's-gifting-textarea-counter': true,
|
|
902
|
+
'limit': (this.selectedText?.length || 0) >= SallaGifting.CUSTOM_TEXT_MAX_LENGTH,
|
|
903
|
+
} }, SallaGifting.CUSTOM_TEXT_MAX_LENGTH, "/", this.selectedText?.length || 0))) : null, h("div", { class: "anime-item" }, h("salla-button", { color: "primary", width: "wide", onClick: () => this.goToStep2(!!this.gift?.show_texts) }, h("span", null, this.nextStep)))), h("div", { class: "s-gifting-step-two gift-step-2", style: this.skipStep1() ? { opacity: '1', transform: 'translateX(0)', position: 'relative' } : undefined, ref: el => this.step2Elems = el }, h("div", { class: this.step2ItemClass(this.errors?.['sender_name'] ? 's-form-group s-form-has-error' : 's-form-group') }, h("label", { htmlFor: "sender_name", class: "s-form-label" }, this.senderNameLabel), h("input", { type: "text", class: "s-form-control", name: "sender_name", id: "sender_name", value: this.senderName, onInput: (event) => this.handleSenderName(event), placeholder: "" }), this.errors && this.errors['sender_name'] ?
|
|
899
904
|
h("span", { class: "s-gifting-error" }, this.errors['sender_name']) : ''), h("div", { class: this.step2ItemClass(this.errors?.['receiver.name'] ? 's-form-group s-form-has-error' : 's-form-group') }, h("label", { htmlFor: "receiver_name", class: "s-form-label" }, this.receiverNameFieldLabel), h("input", { type: "text", class: "s-form-control", name: "receiver_name", id: "receiver_name", value: "", onInput: (event) => this.handleReceiverName(event), placeholder: "" }), this.errors && this.errors['receiver.name'] ?
|
|
900
905
|
h("span", { class: "s-gifting-error" }, this.errors['receiver.name']) : ''), h("div", { class: this.step2ItemClass(this.errors?.['receiver.mobile'] ? 's-form-group s-form-has-error' : 's-form-group') }, h("label", { class: "s-form-label" }, this.receiverMobileFieldLabel), h("salla-tel-input", { class: "s-gifting-tel-input", phone: this.receiverMobile, countryCode: this.receiverCountryCode, onPhoneEntered: (e) => this.handlePhoneInputChange(e) }), this.errors && this.errors['receiver.mobile'] ?
|
|
901
906
|
h("span", { class: "s-gifting-error" }, this.errors['receiver.mobile']) : ''), this.isPhysical() &&
|
|
@@ -906,7 +911,7 @@ const SallaGifting$1 = /*@__PURE__*/ proxyCustomElement(class SallaGifting exten
|
|
|
906
911
|
h("div", { class: this.step2ItemClass(this.errors?.['receiver.city_id'] ? 's-form-group s-form-has-error' : 's-form-group') }, h("label", { class: "s-form-label", htmlFor: `${this.hostId}-city` }, this.receiverCityFieldLabel), h("salla-searchable-dropdown", { placeholder: this.selectCity, items: this.displayedCities, selectedItem: this.selectedCity, loading: this.loadingCities, searching: this.searchingCities, disabled: this.loadingCities || (this.isKSA && !this.selectedRegionId), required: true, inputId: `${this.hostId}-city`, searchQuery: this.citySearchQuery, clientSearch: !this.enableCityAjaxSearch, dropUp: true, keepParentScroll: true, onItemSelected: (e) => this.handleCitySelected(e.detail), onSearchInput: (e) => this.handleCitySearch(e.detail), onDropdownClosed: () => this.handleCityDropdownClosed() }), this.errors && this.errors['receiver.city_id'] ?
|
|
907
912
|
h("span", { class: "s-gifting-error" }, this.errors['receiver.city_id']) : ''), this.isPhysical() && this.cityNoticeText() &&
|
|
908
913
|
h("div", { class: this.step2ItemClass('s-gifting-info') }, h("span", { innerHTML: Alert }), h("span", null, this.cityNoticeText())), !this.isPhysical() && h("div", { class: this.step2ItemClass() }, h("label", { class: "s-gifting-schedule s-gifting-clickable", htmlFor: `schedule-${this.hostId}` }, h("input", { type: "checkbox", name: 'schedule', id: `schedule-${this.hostId}`, onChange: () => this.toggleCalendar(), class: "s-checkbox" }), h("span", { class: "s-form-label" }, " ", this.sendLater, " "))), h("div", { class: this.getCalendarClasses(), ref: (el) => this.calendarFormGroup = el }, h("label", { class: "s-form-label" }, this.selectSendDateAndTime), h("salla-datetime-picker", { value: this.deliveryDate, placeholder: this.selectSendDateAndTime, "enable-time": true, "date-format": "Y-m-d h:i K", onPicked: (event) => this.handleDateTimePicker(event) }), h("span", { class: "s-gifting-calendar-hint" }, this.canNotEditOrderAfterSelectDate)), h("div", { class: this.step2ItemClass('s-gifting-step-two-footer') }, !this.skipStep1() && h("a", { href: "#!", innerHTML: IconArrowLeft, onClick: (e) => this.goToStep1(e) }), h("salla-button", { onClick: () => this.submitForm(), color: "primary", width: 'wide' }, h("span", null, this.sendGift)))))
|
|
909
|
-
], h("slot", { key: '
|
|
914
|
+
], h("slot", { key: '187d744793464098a2eb9592ec7ad8ec3777918f', name: "footer" })))
|
|
910
915
|
];
|
|
911
916
|
}
|
|
912
917
|
static get style() { return sallaGiftingCss; }
|
|
@@ -994,6 +999,8 @@ const SallaGifting$1 = /*@__PURE__*/ proxyCustomElement(class SallaGifting exten
|
|
|
994
999
|
"goToStep2": [64]
|
|
995
1000
|
}]);
|
|
996
1001
|
SallaGifting$1.CITY_AJAX_THRESHOLD = 400;
|
|
1002
|
+
// Mirrors the API's `text => max:140` rule on AddItemAsGiftRequest.
|
|
1003
|
+
SallaGifting$1.CUSTOM_TEXT_MAX_LENGTH = 140;
|
|
997
1004
|
SallaGifting$1.CITY_SEARCH_DEBOUNCE_MS = 100;
|
|
998
1005
|
function defineCustomElement$1() {
|
|
999
1006
|
if (typeof customElements === "undefined") {
|
|
@@ -351,9 +351,14 @@ const SallaLoginModal = /*@__PURE__*/ proxyCustomElement(class SallaLoginModal e
|
|
|
351
351
|
});
|
|
352
352
|
}
|
|
353
353
|
async handleGuestCheckout() {
|
|
354
|
+
// buy now resumes its own flow; emitted before closing so the dismissal doesn't race it
|
|
355
|
+
if (this.source === 'buy-now') {
|
|
356
|
+
Salla.event.emit('salla-login::guest-chosen', { source: this.source });
|
|
357
|
+
return this.modal.close();
|
|
358
|
+
}
|
|
354
359
|
this.modal.close();
|
|
355
360
|
if (salla.config.isGuest()) {
|
|
356
|
-
return salla.cart.submit(false, true);
|
|
361
|
+
return salla.cart.submit(false, true, true);
|
|
357
362
|
}
|
|
358
363
|
}
|
|
359
364
|
openModal() {
|
|
@@ -140,7 +140,7 @@ const SallaProductsList = /*@__PURE__*/ proxyCustomElement(class SallaProductsLi
|
|
|
140
140
|
* @param filters
|
|
141
141
|
*/
|
|
142
142
|
async setFilters(filters) {
|
|
143
|
-
if (!filters || JSON.stringify(filters) === JSON.stringify(this.parsedFilters)) {
|
|
143
|
+
if (this.filtersResults !== true || !filters || JSON.stringify(filters) === JSON.stringify(this.parsedFilters)) {
|
|
144
144
|
return;
|
|
145
145
|
}
|
|
146
146
|
window.scrollTo({ top: 0, behavior: 'smooth' });
|
|
@@ -1051,8 +1051,9 @@ const SallaProductsList = /*@__PURE__*/ proxyCustomElement(class SallaProductsLi
|
|
|
1051
1051
|
// A theme's catalog default must not replace the relevance order used by the search popup.
|
|
1052
1052
|
// A shopper's explicit sort, and subsequent sortBy updates followed by reload(), still apply.
|
|
1053
1053
|
this.sortBy = this.isSearchPageList() ? requestedSort || undefined : this.sortBy || requestedSort;
|
|
1054
|
-
|
|
1055
|
-
|
|
1054
|
+
// Page filters belong to the main listing, not independently configured sections.
|
|
1055
|
+
this.parsedFilters = this.filtersResults === true ? Helper.extractFiltersFromUrl(searchParams) : {};
|
|
1056
|
+
if (this.filtersResults === true && this.parsedFilters?.category_id) {
|
|
1056
1057
|
this.currentCategoryIdFilter = this.toCategoryIdFilter(this.parsedFilters.category_id);
|
|
1057
1058
|
}
|
|
1058
1059
|
}
|
|
@@ -1189,6 +1190,13 @@ const SallaProductsList = /*@__PURE__*/ proxyCustomElement(class SallaProductsLi
|
|
|
1189
1190
|
?.find(filter => filter.key === 'category_id')
|
|
1190
1191
|
// loose == : catId may be a number (auto-appended page.id) while API keys are strings
|
|
1191
1192
|
?.values?.find(cat => cat.key == catId)?.value ?? '';
|
|
1193
|
+
// without the filters feature the response has no `filters`, so the lookup above finds no name and the
|
|
1194
|
+
// theme would swap the page heading for a bare count; the page itself still names its own list.
|
|
1195
|
+
// page.title is raw text that themes drop into innerHTML, so it's escaped like the search term
|
|
1196
|
+
const pageId = salla.config.get('page.id');
|
|
1197
|
+
if (!title && catId != null && pageId != null && String(catId) === String(pageId)) {
|
|
1198
|
+
title = Helper.escapeHtml(salla.config.get('page.title'));
|
|
1199
|
+
}
|
|
1192
1200
|
}
|
|
1193
1201
|
title +=
|
|
1194
1202
|
(title ? ' - ' : '') +
|
|
@@ -1864,6 +1864,9 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
|
|
|
1864
1864
|
/** Session from the initial gesture; begun later when there are no order options. */
|
|
1865
1865
|
this.pendingApplePaySession = null;
|
|
1866
1866
|
this.quickBuy = salla.lang.get('pages.products.buy_now');
|
|
1867
|
+
/** The guest picked "continue as guest" on the login step, so don't ask again. */
|
|
1868
|
+
this.choseGuest = false;
|
|
1869
|
+
this.cancelLoginAsk = null;
|
|
1867
1870
|
/** Apple Pay onStartedSession: first call defers begin() to run the OO check; second (resolved) begins. */
|
|
1868
1871
|
this.handleApplePaySessionStarted = (session) => {
|
|
1869
1872
|
// Previously gated on `order_options.mandatory`, which is unrelated to CP-2836: a store with
|
|
@@ -1931,6 +1934,7 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
|
|
|
1931
1934
|
salla?.event?.off?.('product-options::donation-changed', this.donationChangedListener);
|
|
1932
1935
|
salla?.product?.event?.offPriceUpdated?.(this.priceUpdatedListener);
|
|
1933
1936
|
this.langUnsubscribe?.();
|
|
1937
|
+
this.cancelLoginAsk?.();
|
|
1934
1938
|
}
|
|
1935
1939
|
quickBuyHandler() {
|
|
1936
1940
|
if (salla.config.isGuest() && !this.isGuestCheckout()) {
|
|
@@ -1938,6 +1942,10 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
|
|
|
1938
1942
|
salla.api.auth.requireLoginThen('salla-quick-buy::user.logged-in', () => this.quickBuyHandler());
|
|
1939
1943
|
return;
|
|
1940
1944
|
}
|
|
1945
|
+
if (this.shouldAskLoginFirst()) {
|
|
1946
|
+
this.askLoginFirst();
|
|
1947
|
+
return;
|
|
1948
|
+
}
|
|
1941
1949
|
// Sync validate — AP needs the gesture preserved for new ApplePaySession().
|
|
1942
1950
|
if (!this.validatePdpOptionsSync())
|
|
1943
1951
|
return;
|
|
@@ -2005,7 +2013,10 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
|
|
|
2005
2013
|
injectFreeProductsIntoPayload(data, this.collectedFreeProducts);
|
|
2006
2014
|
// if the store doesn't have Apple Pay , just create a cart and then redirect to check out page
|
|
2007
2015
|
if (!this.isApplePayActive) {
|
|
2008
|
-
|
|
2016
|
+
// tells checkout the guest already chose guest, so it opens on the guest form —
|
|
2017
|
+
// re-check isGuest(): a login since the choice must not send guest params authenticated
|
|
2018
|
+
const options = this.choseGuest && salla.config.isGuest() ? { params: { guest_checkout: 1, chose_guest: 1 } } : {};
|
|
2019
|
+
return salla.api.request('checkout/mini', data, 'post', options)
|
|
2009
2020
|
.catch(err => this.legacyQuickPurchaseFallback(err, data))
|
|
2010
2021
|
.then(resp => {
|
|
2011
2022
|
// mini-checkout answers {to, url}; legacy quick-purchase answered {redirect}
|
|
@@ -2130,6 +2141,38 @@ const SallaQuickBuy = /*@__PURE__*/ proxyCustomElement(class SallaQuickBuy exten
|
|
|
2130
2141
|
salla.logger.warn('quick-buy: falling back to quick-purchase because of token_not_provided');
|
|
2131
2142
|
return salla.api.request('checkout/quick-purchase/' + this.productId, data, 'post');
|
|
2132
2143
|
}
|
|
2144
|
+
/** login-before-checkout variant: offer login or guest before buy now. Not for Apple Pay, which must open on the tap. */
|
|
2145
|
+
shouldAskLoginFirst() {
|
|
2146
|
+
return salla.config.isGuest()
|
|
2147
|
+
&& !this.choseGuest
|
|
2148
|
+
&& !this.isApplePayActive
|
|
2149
|
+
&& salla.cart.loginBeforeCheckoutGroup?.() === 'variant';
|
|
2150
|
+
}
|
|
2151
|
+
askLoginFirst() {
|
|
2152
|
+
// a second click before the popup settles must replace the pending ask, not stack a listener
|
|
2153
|
+
this.cancelLoginAsk?.();
|
|
2154
|
+
const stop = () => {
|
|
2155
|
+
salla.event.off('salla-login::guest-chosen', onGuest);
|
|
2156
|
+
salla.event.off('salla-login::dismissed', stop);
|
|
2157
|
+
this.cancelLoginAsk = null;
|
|
2158
|
+
};
|
|
2159
|
+
this.cancelLoginAsk = stop;
|
|
2160
|
+
const onGuest = (detail) => {
|
|
2161
|
+
if (detail?.source !== 'buy-now')
|
|
2162
|
+
return;
|
|
2163
|
+
stop();
|
|
2164
|
+
this.choseGuest = true;
|
|
2165
|
+
this.quickBuyHandler();
|
|
2166
|
+
};
|
|
2167
|
+
salla.event.on('salla-login::guest-chosen', onGuest);
|
|
2168
|
+
salla.event.on('salla-login::dismissed', stop);
|
|
2169
|
+
this.requireLogin.emit({ productId: this.productId });
|
|
2170
|
+
salla.api.auth.requireLoginThen('salla-quick-buy::user.logged-in', () => {
|
|
2171
|
+
stop();
|
|
2172
|
+
this.choseGuest = false;
|
|
2173
|
+
this.quickBuyHandler();
|
|
2174
|
+
}, null, 'buy-now');
|
|
2175
|
+
}
|
|
2133
2176
|
isGuestCheckout() {
|
|
2134
2177
|
return salla.config.isGuest() && this.isGuestCheckoutAllowed() && this.isPhysicalProduct();
|
|
2135
2178
|
}
|
|
@@ -172,6 +172,7 @@ const SallaRatingModalV2 = /*@__PURE__*/ proxyCustomElement(class SallaRatingMod
|
|
|
172
172
|
this.stepsCount = 0;
|
|
173
173
|
this.currentIndex = 0;
|
|
174
174
|
this.submitted = [];
|
|
175
|
+
this.isSubmitting = false;
|
|
175
176
|
this.thanksCountdownInterval = null;
|
|
176
177
|
this.MAX_IMAGE_UPLOAD_LIMIT = MAX_IMAGE_UPLOAD_LIMIT;
|
|
177
178
|
this.MAX_VIDEO_UPLOAD_LIMIT = MAX_VIDEO_UPLOAD_LIMIT;
|
|
@@ -684,10 +685,11 @@ const SallaRatingModalV2 = /*@__PURE__*/ proxyCustomElement(class SallaRatingMod
|
|
|
684
685
|
this.showActiveStep();
|
|
685
686
|
}
|
|
686
687
|
async submit() {
|
|
687
|
-
if (this.hasUploadsInProgress)
|
|
688
|
+
if (this.hasUploadsInProgress || this.isSubmitting)
|
|
688
689
|
return;
|
|
689
|
-
this.
|
|
690
|
+
this.isSubmitting = true;
|
|
690
691
|
try {
|
|
692
|
+
this.refreshWizardRefs();
|
|
691
693
|
if (!this.submittedBefore()) {
|
|
692
694
|
this.validate();
|
|
693
695
|
}
|
|
@@ -710,6 +712,7 @@ const SallaRatingModalV2 = /*@__PURE__*/ proxyCustomElement(class SallaRatingMod
|
|
|
710
712
|
}
|
|
711
713
|
}
|
|
712
714
|
finally {
|
|
715
|
+
this.isSubmitting = false;
|
|
713
716
|
this.nextBtn?.stop();
|
|
714
717
|
salla.config.canLeave = true;
|
|
715
718
|
}
|