@salla.sa/twilight-components 2.14.594 → 2.14.596
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{filepond-DtGoIKEP.js → filepond-MMeFYRaC.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-DMejMF1-.js → filepond-plugin-file-poster-Dd1aobB-.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-J_fE6OBS.js → filepond-plugin-file-validate-size-Be46s5wp.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-BpewyAzF.js → filepond-plugin-file-validate-type-Cf3OjTHE.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-DPNUTWCK.js → filepond-plugin-image-edit-BDX5qgng.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-CZ6YRu70.js → filepond-plugin-image-exif-orientation-ilZNc8J4.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-CgV-oWXK.js → filepond-plugin-image-preview-C9c7tVEB.js} +1 -1
- package/dist/cjs/{index-BziKkkwT.js → index-zv0p1Eys.js} +2 -2
- package/dist/cjs/{intlTelInput-BLuZALMt.js → intlTelInput-C8hiSJ_i.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-accordion_6.cjs.entry.js +1 -1
- package/dist/cjs/salla-add-product-button_5.cjs.entry.js +1 -1
- package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
- package/dist/cjs/salla-alert_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-applied-filters.cjs.entry.js +1 -1
- package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
- package/dist/cjs/salla-attachment-view_9.cjs.entry.js +41 -16
- 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 +1 -1
- package/dist/cjs/salla-cart-coupons.cjs.entry.js +68 -15
- package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-summary-card.cjs.entry.js +29 -4
- 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 +24 -3
- package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
- package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
- package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
- package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
- package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
- package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters.cjs.entry.js +1 -1
- package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
- package/dist/cjs/salla-gift-card-redeem_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-gifting.cjs.entry.js +1 -1
- package/dist/cjs/salla-hook.cjs.entry.js +1 -1
- package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
- package/dist/cjs/salla-installment.cjs.entry.js +1 -1
- package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
- package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-banner_10.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
- package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-map_3.cjs.entry.js +1 -1
- package/dist/cjs/salla-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
- package/dist/cjs/salla-notification-item_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-options-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-shipments.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-orders.cjs.entry.js +1 -1
- package/dist/cjs/salla-payments.cjs.entry.js +1 -1
- package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
- package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
- package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
- package/dist/cjs/salla-products-slider.cjs.entry.js +1 -1
- package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
- package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +1 -1
- package/dist/cjs/salla-rating-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-review-factors-tags.cjs.entry.js +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 +1 -1
- 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-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 +1 -1
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/cjs/{vanilla-picker-36O-wrIX.js → vanilla-picker-DRrOfZz0.js} +1 -1
- package/dist/collection/components/salla-cart-coupons/salla-cart-coupons.js +69 -15
- package/dist/collection/components/salla-cart-summary-card/salla-cart-summary-card.js +30 -3
- package/dist/collection/components/salla-comments/salla-comments.js +23 -2
- package/dist/collection/components/salla-file-upload/salla-file-upload.css +3 -0
- package/dist/collection/components/salla-file-upload/salla-file-upload.js +30 -5
- package/dist/components/index.js +2 -2
- package/dist/components/salla-cart-coupons.js +68 -14
- package/dist/components/salla-cart-summary-card.js +30 -3
- package/dist/components/salla-comments.js +23 -2
- package/dist/components/salla-file-upload2.js +31 -6
- package/dist/docs.json +1 -1
- package/dist/esm/{filepond-DZJO0NDO.js → filepond-okemUEVJ.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-BGjhc2cd.js → filepond-plugin-file-poster-He-1QDcm.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-s9w1K7Bl.js → filepond-plugin-file-validate-size-BoQ9OZHK.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-OfI6GFgP.js → filepond-plugin-file-validate-type-BVxE-7xU.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-Cfselyr4.js → filepond-plugin-image-edit-DJnNmArQ.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-ConUo4eP.js → filepond-plugin-image-exif-orientation-CgkqV9g5.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-BJ4T10Ty.js → filepond-plugin-image-preview-DxbixTNR.js} +1 -1
- package/dist/esm/{index-Bxge4xib.js → index-C1mBhG6Z.js} +2 -2
- package/dist/esm/{intlTelInput-B-IoM3ox.js → intlTelInput-wxpsRy0u.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-accordion-body_2.entry.js +1 -1
- package/dist/esm/salla-accordion_6.entry.js +1 -1
- package/dist/esm/salla-add-product-button_5.entry.js +1 -1
- package/dist/esm/salla-advertisement.entry.js +1 -1
- package/dist/esm/salla-alert_2.entry.js +1 -1
- package/dist/esm/salla-app-install-alert.entry.js +1 -1
- package/dist/esm/salla-applied-filters.entry.js +1 -1
- package/dist/esm/salla-apps-icons.entry.js +1 -1
- package/dist/esm/salla-attachment-view_9.entry.js +41 -16
- 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 +1 -1
- package/dist/esm/salla-cart-coupons.entry.js +68 -15
- package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
- package/dist/esm/salla-cart-summary-card.entry.js +29 -4
- 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 +24 -3
- package/dist/esm/salla-conditional-offer.entry.js +1 -1
- package/dist/esm/salla-contacts.entry.js +1 -1
- package/dist/esm/salla-cookies-bar.entry.js +1 -1
- package/dist/esm/salla-count-down.entry.js +1 -1
- package/dist/esm/salla-custom-fields.entry.js +1 -1
- package/dist/esm/salla-delivery-promise.entry.js +1 -1
- package/dist/esm/salla-edit-order-button.entry.js +1 -1
- package/dist/esm/salla-filters-widget.entry.js +1 -1
- package/dist/esm/salla-filters.entry.js +1 -1
- package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
- package/dist/esm/salla-gift-card-redeem_2.entry.js +1 -1
- package/dist/esm/salla-gifting.entry.js +1 -1
- package/dist/esm/salla-hook.entry.js +1 -1
- package/dist/esm/salla-infinite-scroll.entry.js +1 -1
- package/dist/esm/salla-installment.entry.js +1 -1
- package/dist/esm/salla-list-tile.entry.js +1 -1
- package/dist/esm/salla-localization-modal.entry.js +1 -1
- package/dist/esm/salla-login-modal.entry.js +1 -1
- package/dist/esm/salla-loyalty-banner_10.entry.js +1 -1
- package/dist/esm/salla-loyalty-exchange-product-card.entry.js +1 -1
- package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
- package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
- package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm/salla-loyalty.entry.js +1 -1
- package/dist/esm/salla-maintenance-alert.entry.js +1 -1
- package/dist/esm/salla-map_3.entry.js +1 -1
- package/dist/esm/salla-menu.entry.js +1 -1
- package/dist/esm/salla-metadata.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-next-order-coupon.entry.js +1 -1
- package/dist/esm/salla-notification-item_2.entry.js +1 -1
- package/dist/esm/salla-offer-modal.entry.js +1 -1
- package/dist/esm/salla-offer.entry.js +1 -1
- package/dist/esm/salla-order-branch.entry.js +1 -1
- package/dist/esm/salla-order-cancel.entry.js +1 -1
- package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-order-details-options.entry.js +1 -1
- package/dist/esm/salla-order-details.entry.js +1 -1
- package/dist/esm/salla-order-edit-item.entry.js +1 -1
- package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
- package/dist/esm/salla-order-edit.entry.js +1 -1
- package/dist/esm/salla-order-options-modal.entry.js +1 -1
- package/dist/esm/salla-order-shipments.entry.js +1 -1
- package/dist/esm/salla-order-summary.entry.js +1 -1
- package/dist/esm/salla-order-totals-card.entry.js +1 -1
- package/dist/esm/salla-orders.entry.js +1 -1
- package/dist/esm/salla-payments.entry.js +1 -1
- package/dist/esm/salla-placeholder.entry.js +1 -1
- package/dist/esm/salla-price-range.entry.js +1 -1
- package/dist/esm/salla-product-card-embed.entry.js +1 -1
- package/dist/esm/salla-product-card.entry.js +1 -1
- package/dist/esm/salla-product-size-guide.entry.js +1 -1
- package/dist/esm/salla-products-list.entry.js +1 -1
- package/dist/esm/salla-products-slider.entry.js +1 -1
- package/dist/esm/salla-quick-order.entry.js +1 -1
- package/dist/esm/salla-rating-modal-v2.entry.js +1 -1
- package/dist/esm/salla-rating-modal.entry.js +1 -1
- package/dist/esm/salla-review-factors-tags.entry.js +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 +1 -1
- 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-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 +1 -1
- package/dist/esm/twilight.js +3 -3
- package/dist/esm/{vanilla-picker-D1RSTlum.js → vanilla-picker-CQEJbE9K.js} +1 -1
- package/dist/twilight/{p-6d3d5a0b.entry.js → p-020eb2a1.entry.js} +1 -1
- package/dist/twilight/p-06799084.entry.js +4 -0
- package/dist/twilight/{p-b3213fee.entry.js → p-0a3abfd4.entry.js} +1 -1
- package/dist/twilight/{p-79bb0c41.entry.js → p-0ef388be.entry.js} +1 -1
- package/dist/twilight/{p-6bfcdb38.entry.js → p-1080831a.entry.js} +1 -1
- package/dist/twilight/{p-c0274022.entry.js → p-12a2b743.entry.js} +1 -1
- package/dist/twilight/{p-7ed0db2e.entry.js → p-160476f0.entry.js} +1 -1
- package/dist/twilight/{p-aa96807e.entry.js → p-1a5d0b25.entry.js} +1 -1
- package/dist/twilight/{p-6e42d70f.entry.js → p-1f99db23.entry.js} +1 -1
- package/dist/twilight/{p-3162901e.entry.js → p-21ba0eac.entry.js} +1 -1
- package/dist/twilight/{p-e7e52491.entry.js → p-232c39e9.entry.js} +1 -1
- package/dist/twilight/{p-fae38591.entry.js → p-305ed224.entry.js} +1 -1
- package/dist/twilight/{p-0e1a454b.entry.js → p-342b31ba.entry.js} +1 -1
- package/dist/twilight/{p-530b513d.entry.js → p-3a465851.entry.js} +1 -1
- package/dist/twilight/{p-a912d6a3.entry.js → p-3a4cf66c.entry.js} +1 -1
- package/dist/twilight/{p-35c0ca9a.entry.js → p-3c4702bb.entry.js} +1 -1
- package/dist/twilight/{p-a3a69984.entry.js → p-3dcb5129.entry.js} +1 -1
- package/dist/twilight/{p-e1b0dafc.entry.js → p-43d0c80e.entry.js} +1 -1
- package/dist/twilight/{p-b1dc78db.entry.js → p-474997dd.entry.js} +1 -1
- package/dist/twilight/{p-4543b3b3.entry.js → p-4b0eaa16.entry.js} +1 -1
- package/dist/twilight/{p-9f0459ec.entry.js → p-4bde9c4e.entry.js} +1 -1
- package/dist/twilight/{p-35bc566f.entry.js → p-50bbbd18.entry.js} +1 -1
- package/dist/twilight/{p-57097563.entry.js → p-51c26ce7.entry.js} +1 -1
- package/dist/twilight/{p-c4bf8d24.entry.js → p-54054ab9.entry.js} +1 -1
- package/dist/twilight/{p-f22ec479.entry.js → p-54bc613c.entry.js} +1 -1
- package/dist/twilight/{p-52012794.entry.js → p-58058ae9.entry.js} +1 -1
- package/dist/twilight/{p-c476eaab.entry.js → p-5babb989.entry.js} +1 -1
- package/dist/twilight/{p-abfbba72.entry.js → p-5c1a36ab.entry.js} +1 -1
- package/dist/twilight/{p-0d464350.entry.js → p-5cf3929c.entry.js} +1 -1
- package/dist/twilight/{p-2e5bace8.entry.js → p-5e099f96.entry.js} +1 -1
- package/dist/twilight/{p-5b3a04cd.entry.js → p-5e426c78.entry.js} +1 -1
- package/dist/twilight/{p-d9188e76.entry.js → p-60d06105.entry.js} +1 -1
- package/dist/twilight/{p-fd615606.entry.js → p-62653d93.entry.js} +1 -1
- package/dist/twilight/{p-34454493.entry.js → p-6602a61a.entry.js} +1 -1
- package/dist/twilight/{p-bff2400f.entry.js → p-672a709e.entry.js} +1 -1
- package/dist/twilight/{p-988f6193.entry.js → p-67d3ee58.entry.js} +1 -1
- package/dist/twilight/{p-2c8b8935.entry.js → p-7ac91ace.entry.js} +1 -1
- package/dist/twilight/{p-751ff32d.entry.js → p-8028be6f.entry.js} +1 -1
- package/dist/twilight/{p-572a1f84.entry.js → p-80699771.entry.js} +1 -1
- package/dist/twilight/{p-22f21c95.entry.js → p-81596b48.entry.js} +1 -1
- package/dist/twilight/{p-4362756f.entry.js → p-82939afe.entry.js} +1 -1
- package/dist/twilight/{p-6b90f160.entry.js → p-844176cb.entry.js} +1 -1
- package/dist/twilight/{p-1769ead6.entry.js → p-8513fec2.entry.js} +1 -1
- package/dist/twilight/{p-94e85b3c.entry.js → p-85cff524.entry.js} +1 -1
- package/dist/twilight/{p-b8661b67.entry.js → p-8bdb7f71.entry.js} +1 -1
- package/dist/twilight/{p-51e8c2b2.entry.js → p-8dfdd6c9.entry.js} +1 -1
- package/dist/twilight/{p-b6918b2b.entry.js → p-8eb75cf8.entry.js} +1 -1
- package/dist/twilight/{p-d38b5aaa.entry.js → p-8ec0fc03.entry.js} +1 -1
- package/dist/twilight/{p-f4c94e30.entry.js → p-92f6aa52.entry.js} +1 -1
- package/dist/twilight/{p-d1e4e15e.entry.js → p-97bb12a6.entry.js} +1 -1
- package/dist/twilight/{p-00cb1c25.entry.js → p-9d434410.entry.js} +1 -1
- package/dist/twilight/{p-B5twlAuI.js → p-BB23a2fo.js} +1 -1
- package/dist/twilight/{p-DnoH14HK.js → p-Bm1ywp6t.js} +1 -1
- package/dist/twilight/{p-Bxge4xib.js → p-C1mBhG6Z.js} +1 -1
- package/dist/twilight/{p-DKEu8h4M.js → p-C57CqqgQ.js} +1 -1
- package/dist/twilight/{p-BkWctmFE.js → p-CJPWrlxL.js} +1 -1
- package/dist/twilight/{p-EiLe0Yi_.js → p-CtcjG32v.js} +1 -1
- package/dist/twilight/{p-CWLJmpv-.js → p-DiU9tYvl.js} +1 -1
- package/dist/twilight/{p-W-AkIawg.js → p-E2n9kJc8.js} +1 -1
- package/dist/twilight/{p-CINox5XU.js → p-Gxv67UlH.js} +1 -1
- package/dist/twilight/{p-59256d82.entry.js → p-a11b77df.entry.js} +1 -1
- package/dist/twilight/{p-106ea7ed.entry.js → p-a4aac112.entry.js} +1 -1
- package/dist/twilight/{p-1b56374e.entry.js → p-a52bfa57.entry.js} +1 -1
- package/dist/twilight/{p-fd6fc043.entry.js → p-a9aadc0b.entry.js} +1 -1
- package/dist/twilight/{p-fb119c27.entry.js → p-ac20a6de.entry.js} +1 -1
- package/dist/twilight/{p-b2322278.entry.js → p-b3abf071.entry.js} +1 -1
- package/dist/twilight/{p-0bbd0d06.entry.js → p-bc26490f.entry.js} +1 -1
- package/dist/twilight/{p-c903b6bb.entry.js → p-bef93c52.entry.js} +1 -1
- package/dist/twilight/{p-125482ce.entry.js → p-c28395c6.entry.js} +1 -1
- package/dist/twilight/{p-15824030.entry.js → p-c28c53c3.entry.js} +1 -1
- package/dist/twilight/p-c30bfc0b.entry.js +4 -0
- package/dist/twilight/p-c82f46a9.entry.js +4 -0
- package/dist/twilight/{p-2510973e.entry.js → p-c89282b0.entry.js} +1 -1
- package/dist/twilight/{p-be3f6dbe.entry.js → p-ca7593c0.entry.js} +1 -1
- package/dist/twilight/{p-78963d5d.entry.js → p-caee5b0d.entry.js} +1 -1
- package/dist/twilight/{p-aafa69d6.entry.js → p-cb770a9e.entry.js} +1 -1
- package/dist/twilight/{p-db53740d.entry.js → p-cbcca1ff.entry.js} +1 -1
- package/dist/twilight/p-d6508494.entry.js +4 -0
- package/dist/twilight/{p-30b7383a.entry.js → p-d6d72996.entry.js} +1 -1
- package/dist/twilight/{p-2ef59b30.entry.js → p-d75157e0.entry.js} +1 -1
- package/dist/twilight/{p-64c76ad9.entry.js → p-d81bcfb3.entry.js} +1 -1
- package/dist/twilight/{p-e19a980b.entry.js → p-da9bd7f6.entry.js} +1 -1
- package/dist/twilight/{p-42162de9.entry.js → p-dbc1e40c.entry.js} +1 -1
- package/dist/twilight/{p-790ea507.entry.js → p-dcb5ceda.entry.js} +1 -1
- package/dist/twilight/{p-94970458.entry.js → p-de55326d.entry.js} +1 -1
- package/dist/twilight/{p-51243641.entry.js → p-e00ed6c9.entry.js} +1 -1
- package/dist/twilight/{p-d2e929bd.entry.js → p-e43c49e9.entry.js} +1 -1
- package/dist/twilight/{p-614b7b61.entry.js → p-e4589779.entry.js} +1 -1
- package/dist/twilight/{p-ebbb25fc.entry.js → p-e67b2aa8.entry.js} +1 -1
- package/dist/twilight/{p-09e56514.entry.js → p-e98835e3.entry.js} +1 -1
- package/dist/twilight/{p-66131771.entry.js → p-e9ce8dec.entry.js} +1 -1
- package/dist/twilight/{p-c16b9f4a.entry.js → p-eb718f6b.entry.js} +1 -1
- package/dist/twilight/{p-6e57ff9f.entry.js → p-ec361a66.entry.js} +1 -1
- package/dist/twilight/{p-1d551b52.entry.js → p-f130c67f.entry.js} +1 -1
- package/dist/twilight/{p-a37bc663.entry.js → p-f32de457.entry.js} +1 -1
- package/dist/twilight/{p-30f24d97.entry.js → p-f3985cfd.entry.js} +1 -1
- package/dist/twilight/{p-4cedf139.entry.js → p-f47a1351.entry.js} +1 -1
- package/dist/twilight/{p-4457a289.entry.js → p-f626ef96.entry.js} +1 -1
- package/dist/twilight/{p-2c2f0608.entry.js → p-f643bf2f.entry.js} +1 -1
- package/dist/twilight/{p-f046edd3.entry.js → p-f6df7f8a.entry.js} +1 -1
- package/dist/twilight/{p-df407f01.entry.js → p-f8aa1b23.entry.js} +1 -1
- package/dist/twilight/{p-3e02b792.entry.js → p-fac4da2b.entry.js} +1 -1
- package/dist/twilight/{p-d6d7c6a1.entry.js → p-fd3bb3f2.entry.js} +1 -1
- package/dist/twilight/{p-21d1a687.entry.js → p-fd787b30.entry.js} +1 -1
- package/dist/twilight/{p-BXAODWDa.js → p-pzi0Osm7.js} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-cart-coupons/salla-cart-coupons.d.ts +14 -0
- package/dist/types/components/salla-cart-summary-card/salla-cart-summary-card.d.ts +3 -0
- package/dist/types/components/salla-comments/salla-comments.d.ts +3 -0
- package/dist/types/components/salla-file-upload/salla-file-upload.d.ts +1 -0
- package/package.json +5 -5
- package/dist/twilight/p-0835d9ab.entry.js +0 -4
- package/dist/twilight/p-84308a79.entry.js +0 -4
- package/dist/twilight/p-8c229520.entry.js +0 -4
- package/dist/twilight/p-df313b00.entry.js +0 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,h as r,a as e}from"./p-Bxge4xib.js";import{t as o}from"./p-CrSV-tno.js";var i,a;!function(t){t.ProductDetail="product.single",t.Cart="cart"}(i||(i={})),function(t){t.Conditional="conditional",t.PercentageOrFixed="fixed",t.DiscountsTable="discounts_table",t.Bank="bank",t.BuyXGetY="buy_x_get_y",t.SpecialPrice="special_price",t.Percentage="percentage",t.FixedAmount="fixed_amount"}(a||(a={}));const s=class{constructor(r){t(this,r),this.productCardComponent="salla-product-card",this.offersList=[],this.canRender=!1,this.showOffer=salla.config.get("store.settings.product.show_special_offers"),this.showAllOffersModal=!1,this.showProductsModal=!1,this.selectedOfferProducts=[],this.collapsedOffers={},this.expandedCategories={},this.productsLoaded=!1,this.offer_with_price_text=salla.lang.get("pages.offer.with_price",{price:""}),this.with_discount_text=salla.lang.get("pages.products.with_a_discount"),this.product_discount_text=salla.lang.get("pages.products.discount"),this.special_offer_text=salla.lang.get("pages.products.special_offer"),this.buy_quantity_text=t=>salla.lang.get("pages.offer.buy_quantity",{quantity:t}),this.products_link_text=salla.lang.get("pages.offer.included_products","المنتجات المشمولة"),this.min_spend_text=t=>o("pages.offer.min_spend_amount",{amount:t,currency:""},`بحد أدنى ${t} من مبلغ الشراء`),this.min_items_text=t=>o("pages.offer.min_items",{items:t},`بحد أدنى ${t} منتجات`),this.max_discount_text=t=>o("pages.offer.max_discount_amount",{amount:t,currency:""},`بحد أقصى ${t} للخصم`),this.branches_text=o("pages.offer.available_branches",{},"الفروع المتاحة"),this.buy_from_text=o("pages.offer.buy_from_categories",{},"اشترِ من:"),this.get_from_text=o("pages.offer.get_from_categories",{},"احصل من:"),this.payment_methods_text=o("pages.offer.payment_methods",{},"طرق الدفع"),this.product_text=salla.lang.get("common.elements.product","منتج"),salla.lang.onLoaded((()=>{this.offer_with_price_text=salla.lang.get("pages.offer.with_price"),this.with_discount_text=salla.lang.get("pages.products.with_a_discount"),this.product_discount_text=salla.lang.get("pages.products.discount"),this.special_offer_text=salla.lang.get("pages.products.special_offer"),this.buy_quantity_text(0),this.products_link_text=salla.lang.get("pages.offer.included_products","المنتجات المشمولة"),this.min_spend_text=t=>o("pages.offer.min_spend_amount",{amount:t,currency:""},`بحد أدنى ${t} من مبلغ الشراء`),this.min_items_text=t=>o("pages.offer.min_items",{items:t},`بحد أدنى ${t} منتجات`),this.max_discount_text=t=>o("pages.offer.max_discount_amount",{amount:t,currency:""},`بحد أقصى ${t} للخصم`),this.branches_text=o("pages.offer.available_branches",{},"الفروع المتاحة"),this.buy_from_text=o("pages.offer.buy_from_categories",{},"اشترِ من:"),this.get_from_text=o("pages.offer.get_from_categories",{},"احصل من:"),this.payment_methods_text=o("pages.offer.payment_methods",{},"طرق الدفع"),this.product_text=salla.lang.get("common.elements.product","منتج")})),salla.onReady((()=>{this.currentPage=salla.config.get("page.slug");const t=salla.config.get("currencies")||{},r=salla.config.get("user.currency_code");this.userCurrency=t[r]||{symbol:"",code:r||"SAR",name:""}}))}async getEndpointByPageName(){return this.currentPage==i.Cart?`offers/cart/${await Salla.cart.getCurrentCartId()}`:this.currentPage==i.ProductDetail?`offers/product/${salla.config.get("page.id")}`:"offers"}emitPromotionViewed(){if(!(this.offersList.length&&this.canRender&&this.showOffer))return;const t=this.offersList.slice(0,5).map(((t,r)=>({id:t.id,name:t.title,creative:t.description||"",position:r+1})));salla.event.emit("salla::offer.promotion.viewed",t)}emitPromotionClicked(t,r=1){if(!(this.offersList.length&&this.canRender&&this.showOffer))return;const e=t||this.offersList[0];salla.event.emit("salla::offer.promotion.clicked",[{id:e.id,name:e.title,creative:e.description||"",position:r}])}componentWillLoad(){return this.hasCustomComponent=!!customElements.get(this.productCardComponent),new Promise((t=>salla.onReady(t))).then((()=>{if(this.showOffer=!salla.url.is_page("product.single")||salla.config.get("store.settings.product.show_special_offers"),!this.showOffer)throw new Error("Merchant disabled showing the offers on product page")})).then((async()=>this.currentPage==i.Cart?salla.api.cart.offers():salla.api.request(await this.getEndpointByPageName()))).then((async t=>{if(!(this.offersList=t.data).length)throw new Error("salla-offers:: There is no offers!");if(this.offersList=this.offersList.filter((t=>[a.SpecialPrice,a.Bank,a.BuyXGetY,a.DiscountsTable,a.PercentageOrFixed,a.Percentage,a.FixedAmount].includes(t.type))),!this.offersList.length)throw new Error("salla-offers:: No supported offer types found!");let r=null;this.offersList.some((t=>{const r=t.details;return"category"===r.apply_to&&r.targets||"categories"===r.apply_to&&r.targets||t.type===a.BuyXGetY&&("categories"===r.get?.source||"category"===r.get?.source||"categories"===r.buy?.source||"category"===r.buy?.source)}))&&(r=(await salla.product.api.categories()).data);const e=new Set;for(const t of this.offersList){const r=t.details;"product"!==r.apply_to&&"products"!==r.apply_to||!r.targets||r.targets.forEach((t=>e.add(t))),t.type===a.BuyXGetY&&"products"===r.get?.source&&r.get?.source_value&&r.get.source_value.forEach((t=>e.add(t))),t.type!==a.BuyXGetY||"products"!==r.buy?.source&&"product"!==r.buy?.source||!r.buy?.source_value||r.buy.source_value.forEach((t=>e.add(t)))}let o={};if(e.size>0)try{const t=await salla.product.api.fetch({source:"selected",source_value:Array.from(e)});o=Object.fromEntries(t.data.map((t=>[t.id,t])))}catch(t){o={}}for(const t of this.offersList){const e=t.details;if(("category"===e.apply_to&&e.targets||"categories"===e.apply_to&&e.targets)&&r&&(e.categories=this.findCategories(r,e.targets)),"product"!==e.apply_to&&"products"!==e.apply_to||!e.targets||(e.products=e.targets.map((t=>o[t])).filter(Boolean)),"brand"===e.apply_to&&e.targets&&(e.brands=e.targets),"tag"===e.apply_to&&e.targets&&(e.tags=e.targets),t.type===a.BuyXGetY&&e.get){const t=e.get;"products"===t.source&&t.source_value?t.products=t.source_value.map((t=>o[t])).filter(Boolean):("categories"===t.source||"category"===t.source)&&r&&t.source_value&&(t.categories=this.findCategories(r,t.source_value),e.categories=t.categories)}if(t.type===a.BuyXGetY&&e.buy){const t=e.buy;"products"!==t.source&&"product"!==t.source||!t.source_value?("categories"===t.source||"category"===t.source)&&r&&t.source_value&&(t.categories=this.findCategories(r,t.source_value)):t.products=t.source_value.map((t=>o[t])).filter(Boolean)}}return this.offersList})).then((()=>{this.canRender=!0})).catch((t=>{salla.logger.warn(t)}))}componentDidLoad(){let t=this.host.querySelector(".s-slider-block__title-nav");t?.classList.add("s-offer-bank-payment-nav"),this.emitPromotionViewed()}findCategories(t,r){let e=[];for(const o of t)r.includes(o.id_||o.id)&&e.push(o),o.sub_categories?.length>0&&(e=e.concat(this.findCategories(o.sub_categories,r)));return e}render(){if(!this.offersList.length||!this.canRender||!this.showOffer)return null;const t=salla.lang.get("pages.offer.offers_title","عروض المنتج"),e=salla.lang.get("pages.offer.offers_subtitle","احصل على المنتج بسعر مخفض مع أفضل العروض");return[r("div",{class:"s-offer-wrapper"},r("salla-slider",{type:"carousel",id:"offers-slider","block-title":t,"block-subTitle":e,"show-controls":this.offersList.length>1},r("div",{slot:"items"},this.offersList.slice(0,5).map(((t,r)=>this.renderOfferCard(t,r+1))),this.offersList.length>5&&this.renderShowMoreCard()))),this.renderAllOffersModal(),this.renderProductsModal()]}renderShowMoreCard(){return r("div",{class:"s-offer-slide-one-fourth swiper-slide",onClick:t=>{t.preventDefault(),t.stopPropagation(),this.openAllOffersModal()}},r("div",{class:"s-offer-card s-offer-show-more-card"},r("i",{class:"sicon-add s-offer-show-more-icon"}),r("h3",{class:"s-offer-show-more-title"},salla.lang.get("pages.offer.show_more_offers","عرض المزيد من العروض"))))}openAllOffersModal(){this.showAllOffersModal=!0}closeAllOffersModal(){this.showAllOffersModal=!1}closeProductsModal(){this.showProductsModal=!1,this.selectedOfferProducts=[],this.productsLoaded=!1}handleAccordionToggle(t,r){this.collapsedOffers={...this.collapsedOffers,[t]:r}}getOfferProducts(t){const r=t.details;return r.products&&r.products.length>0?r.products:t.type===a.BuyXGetY&&r.get?.products?r.get.products:[]}renderCardDescriptionRow(t,e=!1){const o=e&&t.type===a.DiscountsTable?this.renderProductsLinkForModalCard(t,!1):null;return t.description||o?r("div",{class:"s-offer-card-description-row"},t.description&&r("p",{class:"s-offer-card-description"},t.description),o):null}renderProductsLinkForModalCard(t,e){const o=this.getOfferProducts(t);return o&&0!==o.length?r("div",{class:"s-offer-products-link",onClick:t=>{t.stopPropagation(),this.selectedOfferProducts=o,this.showProductsModal=!0}},r("span",{class:"s-offer-products-link-text"},this.products_link_text),e&&r("i",{class:"sicon-keyboard_arrow_down s-offer-products-link-icon"})):null}renderAllOffersModal(){return r("salla-drawer",{visible:this.showAllOffersModal,position:"right",width:"md","no-padding":!0,"drawer-title":salla.lang.get("pages.offer.all_offers_title","جميع العروض"),onDrawerVisibilityChanged:t=>!t.detail&&this.closeAllOffersModal()},r("div",{class:"s-offer-drawer-content"},this.offersList.map(((t,r)=>this.renderModalOfferCard(t,r+1)))))}renderProductsModal(){return r("salla-drawer",{visible:this.showProductsModal,width:"md",position:"right","no-padding":!0,"drawer-title":this.products_link_text,onDrawerVisibilityChanged:t=>!t.detail&&this.closeProductsModal()},r("div",{class:"s-offer-products-drawer-content"},this.selectedOfferProducts?.length>0?r("div",null,!this.productsLoaded&&r("div",{class:"flex items-center justify-center p-8"},r("salla-loading",{size:"24"})),r("salla-products-list",{source:"selected","source-value":JSON.stringify(this.selectedOfferProducts.map((t=>t.id))),"product-card-component":this.productCardComponent,"horizontal-cards":!0,"compact-cards":!0,includes:["images"],onProductsFetched:()=>this.productsLoaded=!0})):r("div",{class:"p-4 text-center text-gray-500"},salla.lang.get("blocks.products.no_products_found","لا توجد منتجات"))))}renderModalOfferCard(t,e=1){const o=this.getOfferProducts(t),i=o&&o.length>0,s=!1!==this.collapsedOffers[t.id];return r("div",{class:"s-offer-drawer-card"},r("div",{class:"s-offer-card-main",onClick:()=>this.emitPromotionClicked(t,e)},r("div",{class:"s-offer-card-icon"},this.getOfferIcon(t.type)),r("div",{class:"s-offer-card-content"},r("h3",{class:"s-offer-card-title",title:t.title},t.title),this.renderCardDescriptionRow(t),t.type===a.DiscountsTable?r("div",{class:"s-offer-card-details"},this.renderDiscountTableOfferContent(t),this.renderOfferPaymentMethods(t),this.renderOfferBranches(t)):r("div",{class:"s-offer-card-details"},t.type===a.PercentageOrFixed||t.type===a.Percentage||t.type===a.FixedAmount?this.renderPercentageOrFixedOfferContent(t):this.renderMinSpend(t),this.renderOfferCategories(t),this.renderOfferBrands(t),this.renderOfferTags(t),this.renderOfferPaymentMethods(t),this.renderOfferBranches(t)))),i&&r("salla-accordion",{collapsed:s,collapsible:!0,size:"sm",onClick:t=>t.stopPropagation(),onAccordionToggle:r=>this.handleAccordionToggle(t.id,r.detail.payload.collapsed)},r("salla-accordion-head",{collapsible:!0,collapsed:s},r("div",{slot:"title",class:"s-offer-products-thumbnails"},r("span",{class:"s-offer-products-title"},this.products_link_text,r("i",{class:`sicon-keyboard_arrow_${s?"down":"up"} s-offer-products-link-icon`})),r("div",{class:"s-offer-products-thumbnails-stack"},o.slice(0,3).map(((t,e)=>r("div",{class:"s-offer-product-thumbnail",style:{zIndex:`${e+1}`}},r("img",{src:t.thumbnail||t.image?.url||salla.url.cdn("images/s-empty.png"),alt:t.name})))),o.length>3&&r("div",{class:"s-offer-products-more-count",style:{zIndex:"7"}},"+",o.length-3)))),r("salla-accordion-body",null,r("div",{class:"s-offer-products-content"},r("salla-products-list",{source:"selected","source-value":JSON.stringify(o.map((t=>t.id))),"product-card-component":this.productCardComponent,"horizontal-cards":!0,"compact-cards":!0,includes:["images"]})))))}renderOfferCard(t,e=1){return r("div",{class:"s-offer-slide-one-fourth swiper-slide",onClick:()=>this.emitPromotionClicked(t,e)},r("div",{class:"s-offer-card"},r("div",{class:"s-offer-card-icon"},this.getOfferIcon(t.type)),r("div",{class:"s-offer-card-content"},r("h3",{class:"s-offer-card-title",title:t.title},t.title),this.renderCardDescriptionRow(t,!0),r("div",{class:"s-offer-card-details"},t.type===a.DiscountsTable?[this.renderDiscountTableOfferContent(t),this.renderOfferPaymentMethods(t),this.renderOfferBranches(t)]:t.type===a.PercentageOrFixed||t.type===a.Percentage||t.type===a.FixedAmount?[this.renderPercentageOrFixedOfferContent(t),this.renderOfferCategories(t),this.renderOfferBrands(t),this.renderOfferTags(t),this.renderOfferPaymentMethods(t),this.renderOfferBranches(t)]:[this.renderMinSpend(t),this.renderOfferCategories(t),this.renderOfferBrands(t),this.renderOfferTags(t),this.renderOfferPaymentMethods(t),this.renderOfferBranches(t)],t.type!==a.DiscountsTable&&this.renderProductsLinkForModalCard(t,!1)))))}getOfferIcon(t){return r("i",{class:{[a.DiscountsTable]:"sicon-discount-calculator",[a.Bank]:"sicon-bank",[a.SpecialPrice]:"sicon-fire",[a.BuyXGetY]:"sicon-gift",[a.PercentageOrFixed]:"sicon-special-discount",[a.Percentage]:"sicon-special-discount",[a.FixedAmount]:"sicon-special-discount"}[t]||"sicon-discount"})}renderDiscountTableOfferContent(t){const e=t.details.discounts||[];return e.length?r("div",null,!t.description&&r("div",{class:"s-offer-card-description"},salla.lang.get("pages.offer.discount_table_subtitle","وفِّر أكثر بشراء منتجات أكثر")),r("table",{class:"s-offer-discount-table"},r("tbody",null,this.groupDiscountsByRows(e,3).map(((t,e)=>r("tr",{key:e},t.map(((t,e)=>r("td",{key:e},r("div",{class:"s-offer-discount-percentage"},t.percentage,"%"),r("div",{class:"s-offer-discount-condition"},this.formatDiscountCondition(t))))))))))):null}renderMinSpend(t){const e=t.details;return e.min_spend>0?r("div",{class:"s-offer-min-spend",innerHTML:this.min_spend_text(this.money(e.min_spend))}):null}renderPercentageOrFixedOfferContent(t){const e=t.details;return e.discount_value||e.min_spend>0||e.min_items>0||e.max_discount_amount>0?r("div",{class:"s-offer-percentage-fixed-content"},e.min_spend>0&&r("div",{class:"s-offer-min-spend",innerHTML:this.min_spend_text(this.money(e.min_spend))}),e.min_items>0&&r("div",{class:"s-offer-min-items"},this.min_items_text(e.min_items)),e.max_discount_amount>0&&r("div",{class:"s-offer-max-discount",innerHTML:this.max_discount_text(this.money(e.max_discount_amount))})):null}groupDiscountsByRows(t,r){const e=[];for(let o=0;o<t.length;o+=r)e.push(t.slice(o,o+r));return e}money(t){return"function"==typeof salla?.money?salla.money(t):`${t} ${this.userCurrency?.symbol||""}`}formatDiscountCondition(t){return`${t.quantity??1} ${this.product_text}`}renderCategoryGroup(t,e,o){return r("div",{class:"s-offer-categories-group"},r("span",{class:"s-offer-categories-label"},o),r("div",{class:"s-offer-categories-list"},e.map(((e,o)=>r("a",{key:`${t.id}-${o}`,class:"s-offer-category-item",href:e.url||salla.url.create("categories",e.id||e.id_)},e.name)))))}renderOfferCategories(t){const e=t.details;let o=e.categories||[];if(t.type===a.BuyXGetY&&e.get?.categories&&(o=e.get.categories),t.type===a.BuyXGetY){const o=e.buy?.categories||[],i=e.get?.categories||[],a=t=>t.map((t=>t.id||t.id_)).join(",");if(o.length&&i.length&&a(o)!==a(i))return r("div",{class:"s-offer-categories"},this.renderCategoryGroup(t,o,this.buy_from_text),this.renderCategoryGroup(t,i,this.get_from_text))}if(!o.length)return null;const i=this.expandedCategories[t.id],s=o.length>3,n=i?o:o.slice(0,3);return r("div",{class:"s-offer-categories"},r("div",{class:"s-offer-categories-list"},n.map(((t,e)=>r("a",{key:e,class:"s-offer-category-item",href:t.url||salla.url.create("categories",t.id||t.id_)},t.name))),s&&r("span",{class:"s-offer-categories-toggle",onClick:r=>{r.preventDefault(),r.stopPropagation(),this.toggleCategoryExpansion(t.id)}},i?r("span",null,r("i",{class:"sicon-keyboard_arrow_up"})," ",salla.lang.get("common.elements.hide","إخفاء")):r("span",null,salla.lang.get("common.elements.show","عرض")," ","+"+(o.length-3)," ",r("i",{class:"sicon-keyboard_arrow_down"})))))}renderOfferBrands(t){const e=t.details.brands||[];if(!e.length)return null;const o=this.expandedCategories[t.id],i=e.length>3,a=o?e:e.slice(0,3);return r("div",{class:"s-offer-categories"},r("div",{class:"s-offer-categories-list"},a.map(((t,e)=>r("a",{key:e,class:"s-offer-category-item",href:t.url},t.name))),i&&r("span",{class:"s-offer-categories-toggle",onClick:r=>{r.preventDefault(),r.stopPropagation(),this.toggleCategoryExpansion(t.id)}},o?r("span",null,r("i",{class:"sicon-keyboard_arrow_up"})," ",salla.lang.get("common.elements.hide","إخفاء")):r("span",null,salla.lang.get("common.elements.show","عرض")," ","+"+(e.length-3)," ",r("i",{class:"sicon-keyboard_arrow_down"})))))}renderOfferPaymentMethods(t){const e=t.details.payment_methods||[];return e.length?r("div",{class:"s-offer-payment-methods"},r("span",{class:"s-offer-payment-methods-label"},this.payment_methods_text),r("div",{class:"s-offer-payment-methods-list"},e.map(((t,e)=>r("span",{key:e,class:"s-offer-payment-method-item"},t.name))))):null}renderOfferBranches(t){const e=t.details.branches||[];return e.length?r("div",{class:"s-offer-branches"},r("span",{class:"s-offer-branches-label"},this.branches_text),r("div",{class:"s-offer-branches-list"},e.map(((t,e)=>r("span",{key:e,class:"s-offer-branch-item"},t.name))))):null}renderOfferTags(t){const e=t.details.tags||[];if(!e.length)return null;const o=this.expandedCategories[t.id],i=e.length>3,a=o?e:e.slice(0,3);return r("div",{class:"s-offer-categories"},r("div",{class:"s-offer-categories-list"},a.map(((t,e)=>r("a",{key:e,class:"s-offer-category-item",href:t.url||salla.url.create("tags",t.id)},t.name))),i&&r("span",{class:"s-offer-categories-toggle",onClick:r=>{r.preventDefault(),r.stopPropagation(),this.toggleCategoryExpansion(t.id)}},o?r("span",null,r("i",{class:"sicon-keyboard_arrow_up"})," ",salla.lang.get("common.elements.hide","إخفاء")):r("span",null,salla.lang.get("common.elements.show","عرض")," ","+"+(e.length-3)," ",r("i",{class:"sicon-keyboard_arrow_down"})))))}toggleCategoryExpansion(t){this.expandedCategories={...this.expandedCategories,[t]:!this.expandedCategories[t]}}get host(){return e(this)}};s.style='/*!twlt*/:host .s-drawer-close:where([dir=rtl],[dir=rtl] *){left:0}.visible{visibility:visible}.fixed{position:fixed}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.items-center{align-items:center}.justify-center{justify-content:center}.p-4{padding:1rem}.p-8{padding:2rem}.text-center{text-align:center}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-offer-wrapper{position:relative;margin-bottom:2rem;overflow:hidden;border-radius:var(--s-radius, 0.25rem);--tw-bg-opacity:1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1));padding:0.625rem}@media (min-width: 640px){.s-offer-wrapper{padding:1.25rem}}@media (min-width: 768px){.s-offer-wrapper{margin-bottom:4rem}}.s-offer-corner-badge{position:absolute;z-index:1;float:left;margin:0px;height:auto;width:auto;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-width:0px;--tw-bg-opacity:1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1));padding-left:3rem;padding-right:3rem;padding-top:0.25rem;padding-bottom:0.25rem;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.s-offer-corner-badge:where([dir="ltr"],[dir="ltr"] *){top:1.25rem;right:-3.5rem;--tw-rotate:45deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-offer-corner-badge:where([dir="rtl"],[dir="rtl"] *){top:0.75rem;left:-3rem;--tw-rotate:-45deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-offer-slide-one-sixth{width:50% !important}@media (min-width: 640px){.s-offer-slide-one-sixth{width:33.333333% !important}}@media (min-width: 768px){.s-offer-slide-one-sixth{width:25% !important}}@media (min-width: 1024px){.s-offer-slide-one-sixth{width:16.666667% !important}}.s-offer-slide-one-sixth-single{display:flex;align-items:center !important;gap:0.75rem}.s-offer-slide-cat-entry{display:flex;height:9rem;flex-direction:column;align-items:center;justify-content:center;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.75rem;text-align:center;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));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:500ms}.s-offer-slide-cat-entry:hover{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));--tw-shadow:5px 10px 30px #2B2D340D;--tw-shadow-colored:5px 10px 30px 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-offer-slide-cat-entry i{margin-bottom:1rem;display:inline-block;font-size:33px;color:var(--color-primary)}.s-offer-slide-cat-entry h4{font-size:0.875rem;line-height:1.25rem;font-weight:700}.s-offer-slide-one-fourth{height:auto;width:auto;max-width:310px}.s-offer-slide-offer-entry{display:flex;height:9rem;flex-direction:column;align-items:center;justify-content:space-between;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));text-align:center;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));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:500ms}.s-offer-slide-offer-entry:hover{--tw-shadow:5px 10px 30px #2B2D340D;--tw-shadow-colored:5px 10px 30px 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-offer-slide-offer-entry-price-quantity-container{display:flex;width:100%;flex-grow:1;flex-direction:column;justify-content:center;padding:0.75rem}.s-offer-slide-offer-entry-quantity{margin-bottom:0.25rem}.s-offer-slide-offer-entry-price{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-offer-slide-offer-entry-price-amount{font-size:1.875rem;line-height:2.25rem;font-weight:800;--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.s-offer-slide-offer-entry-price-amount-percent{width:100%;border-top-width:1px;--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:0.5rem;font-size:0.875rem;line-height:1.25rem}.s-offer-slide-offer-entry-price-amount-percent span{font-weight:700}.s-offer-discount-list{margin-top:1.25rem}.s-offer-discount-list>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.625rem * var(--tw-space-y-reverse))}.s-offer-discount-list-item{display:flex;justify-content:space-between;border-top-width:1px;padding-top:0.625rem}.s-offer-discount-list-item-money{font-weight:700;--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.s-offer-discount-list-item-discount{font-size:0.875rem;line-height:1.25rem}.s-offer-discount-list-item-discount span{font-weight:700}.s-offer-bank-wrapper{position:relative;display:flex;min-height:144px;width:100%;flex-direction:column;align-items:center;justify-content:center;border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.5rem}.s-offer-bank-wrapper:hover{--tw-shadow:5px 10px 30px #2B2D340D;--tw-shadow-colored:5px 10px 30px 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-offer-bank-wrapper-multi-spacer{margin-top:1.25rem}.s-offer-bank-wrapper-sinlge-item{display:flex;align-items:center;gap:0.75rem}.s-offer-bank-logo{margin-bottom:0.25rem;display:flex;height:5rem;width:5rem;align-items:center;border-radius:var(--s-radius, 0.25rem)}.s-offer-bank-logo img{height:100%;max-height:100%;width:100%;object-fit:contain}.s-offer-bank-payment-wrapper{display:flex;min-width:84px;flex-wrap:nowrap;align-items:center;justify-content:center;gap:0.25rem}.s-offer-bank-payment-single{display:flex;height:1.5rem;width:2rem;align-items:center;justify-content:center;border-radius:var(--s-radius, 0.25rem);--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.s-offer-bank-payment-single img{max-height:100%;max-width:100%;object-fit:contain}.s-offer-bank-payment-discount-percent{position:absolute;top:-1rem;left:auto;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1));padding-left:0.5rem;padding-right:0.5rem;padding-top:0.25rem;padding-bottom:0.25rem;font-size:11px;font-weight:600;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));--tw-shadow:0 1px 2px rgba(0,0,0,0.35);--tw-shadow-colored:0 1px 2px 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-offer-bank-message{width:100%}.s-offer-bank-message h2{max-width:92%;font-size:1rem;line-height:1.5rem;font-weight:500;--tw-text-opacity:1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.s-offer-bank-message p{max-width:95%;font-size:0.875rem;line-height:1.25rem;font-weight:400;line-height:1.5;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-offer-bank-message-amount{font-weight:700;--tw-text-opacity:1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.s-offer-bank-payment-nav{margin-left:3.5rem !important;margin-right:3.5rem !important}.s-offer-.s-slider-block__title{position:relative;margin-bottom:1.25rem}.s-offer-.s-slider-block__title::before{position:absolute;top:1rem;font-size:3rem;font-weight:400;line-height:1;--tw-text-opacity:1;color:rgb(254 242 242 / var(--tw-text-opacity, 1));--tw-content:\'ee30\';content:var(--tw-content)}.s-offer-.s-slider-block__title:where([dir="ltr"],[dir="ltr"] *)::before{content:var(--tw-content);left:0px}.s-offer-.s-slider-block__title:where([dir="rtl"],[dir="rtl"] *)::before{content:var(--tw-content);right:0px}.s-offer-.s-offer-wrapper .s-slider-block__title h2{z-index:0;font-size:1.125rem;line-height:1.75rem;--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-offer-.s-offer-wrapper .s-slider-block__title p{margin-top:0.25rem;overflow:visible;display:block;-webkit-box-orient:horizontal;-webkit-line-clamp:none;line-height:1.5rem}.s-offer-wrapper .s-slider-block__title::before{content:\\ee30;font-family:sallaicons;position:absolute;top:1rem;font-size:3rem;font-weight:400;line-height:1;z-index:-1;color:rgba(254, 242, 242, 1)}.s-offer-bank-wrapper-single-item{display:flex;align-items:center;gap:0.875rem}.s-offer-slides-container{display:flex;gap:1rem}.s-offer-card{margin-left:auto;margin-right:auto;display:flex;height:100%;min-height:138px;max-width:28rem;gap:0.75rem;border-radius:0.375rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:1.5rem;padding-right:1.5rem;padding-top:1.25rem;padding-bottom:1.25rem}.s-offer-card-icon{display:flex;height:3rem;width:3rem;flex-shrink:0;align-items:center;justify-content:center;align-self:flex-start;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));font-size:1.5rem;line-height:2rem}.s-offer-card-content{min-width:0px;flex:1 1 0%;text-align:right}.s-offer-card-title{margin-bottom:0.25rem;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:0.875rem;line-height:1.25rem;font-weight:600;line-height:1.25;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-offer-card-description{font-size:0.875rem;line-height:1.25rem;line-height:1.625;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-offer-card-description-row{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:0.75rem;row-gap:0.25rem}.s-offer-card-details{display:flex;width:100%;flex-direction:column}.s-offer-shared-content{display:flex;flex-direction:column;align-items:center;text-align:center}.s-offer-drawer-card{overflow:hidden;border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:1rem;padding-right:1rem;padding-top:1.5rem;padding-bottom:1.5rem}.s-offer-drawer-card:last-child{border-bottom-width:0px}.s-offer-drawer-card .s-offer-card-main{display:flex;align-items:center;gap:1rem;padding:0px}.s-offer-drawer-card .s-offer-card-icon{display:flex;height:3rem;width:3rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));font-size:1.25rem;line-height:1.75rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-offer-drawer-card .s-offer-card-content{min-width:0px;flex:1 1 0%;text-align:right}.s-offer-drawer-card .s-offer-card-title{margin-bottom:0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:0.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-offer-drawer-card .s-offer-card-description{font-size:0.875rem;line-height:1.25rem;line-height:1.625;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-offer-drawer-card .s-accordion-wrapper{margin:0px}.s-offer-drawer-card .s-accordion-head-wrapper{margin-right:60px;width:100%;max-width:370px;cursor:pointer;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-bottom:0.75rem;padding-right:0px;padding-top:0px}.s-offer-drawer-card .s-accordion-head-wrapper-end{display:none !important}.s-offer-drawer-card .s-accordion-body-wrapper{overflow:auto;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:1rem;padding-right:1rem;padding-bottom:0px}.s-offer-drawer-card .s-accordion-body-wrapper::-webkit-scrollbar{width:5px}.s-offer-drawer-card .s-accordion-body-wrapper::-webkit-scrollbar-track{background-color:#eee}.s-offer-drawer-card .s-accordion-body-wrapper::-webkit-scrollbar-thumb{background-color:var(--color-primary);border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;-ms-border-radius:10px;-o-border-radius:10px}.s-offer-products-thumbnails{display:flex;width:100%;align-items:center;justify-content:space-between}.s-offer-products-thumbnails-stack{position:relative;display:flex;align-items:center}.s-offer-product-thumbnail{position:relative;z-index:10;margin-left:-0.5rem;height:2rem;width:2rem;overflow:hidden;border-radius:0.375rem;border-width:2px;--tw-border-opacity:1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.s-offer-product-thumbnail:first-child{margin-left:0px}.s-offer-product-thumbnail img{height:100%;width:100%;object-fit:cover}.s-offer-products-more-count{position:relative;z-index:50;margin-left:-0.5rem;display:flex;height:2rem;width:2rem;align-items:center;justify-content:center;border-radius:0.375rem;border-width:2px;--tw-border-opacity:1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));font-size:11px;font-weight:400;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));direction:ltr}.s-offer-products-title{display:flex;align-items:center;font-size:0.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-offer-products-accordion-content{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:0.75rem}.s-offer-products-link{display:flex;cursor:pointer;align-items:center;justify-content:space-between;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1));transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:200ms}.s-offer-products-link:hover{--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-offer-products-link-text{font-size:0.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1));text-decoration-line:underline}.s-offer-products-link-icon{font-size:15px;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1));transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:200ms}.s-offer-products-link:hover .s-offer-products-link-icon{--tw-translate-x:-0.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-offer-drawer-padding{padding:0px !important}.s-offer-drawer-content{max-height:calc(100vh - 120px);overflow-y:auto !important;padding-left:1rem;padding-right:1rem}.s-offer-drawer-content::-webkit-scrollbar{width:5px}.s-offer-drawer-content::-webkit-scrollbar-track{background-color:#eee}.s-offer-drawer-content::-webkit-scrollbar-thumb{background-color:var(--color-primary);border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;-ms-border-radius:10px;-o-border-radius:10px}.s-offer-products-drawer-content{max-height:calc(100vh - 120px);overflow-y:auto !important;padding-left:1.5rem;padding-right:1.5rem}.s-offer-products-drawer-content::-webkit-scrollbar{width:5px}.s-offer-products-drawer-content::-webkit-scrollbar-track{background-color:#eee}.s-offer-products-drawer-content::-webkit-scrollbar-thumb{background-color:var(--color-primary);border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;-ms-border-radius:10px;-o-border-radius:10px}.s-offer-products-list-single-column .s-products-list-wrapper{display:grid !important;grid-template-columns:repeat(1, minmax(0, 1fr)) !important;gap:0.75rem}.s-offer-products-list-single-column salla-product-card[horizontal] img{height:60px !important;max-height:60px !important;width:60px !important;max-width:60px !important;object-fit:cover !important}.s-offer-products-list-single-column salla-product-card[horizontal] button{--tw-bg-opacity:1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1));--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.s-offer-products-list-single-column salla-product-card[horizontal] button:hover{--tw-bg-opacity:1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.s-offer-discount-table{width:100%;border-collapse:collapse}.s-offer-discount-table tr:not(:last-child){border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.s-offer-discount-table td{padding:0.75rem;text-align:right}.s-offer-discount-table td:first-child{padding-right:0px}.s-offer-discount-percentage{font-size:0.75rem;line-height:1rem;font-weight:700;line-height:1.25}.s-offer-discount-condition{margin-top:0.25rem;font-size:10px;line-height:1.25;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-offer-categories{margin-top:0.75rem;text-align:right}.s-offer-categories-group{margin-top:0.25rem;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:0.5rem}.s-offer-categories-label{flex-shrink:0;font-size:13px;font-weight:700;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-offer-categories-list{display:flex;flex-wrap:wrap;column-gap:1rem;font-size:13px;line-height:1.625}.s-offer-categories-list a{text-decoration-line:underline}.s-offer-category-item{display:inline-block;cursor:pointer;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-offer-category-item:hover{--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-offer-categories-toggle{cursor:pointer;font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-offer-categories-toggle:hover{--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-offer-min-spend{margin-top:0.625rem;font-size:13px;line-height:17px;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-offer-percentage-fixed-content{display:flex;flex-direction:column}.s-offer-min-items{font-size:13px;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-offer-discount-table-subtitle{margin-bottom:0.75rem;font-size:0.875rem;line-height:1.25rem;line-height:1.625;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-offer-show-more-card{pointer-events:auto;display:flex;cursor:pointer;align-items:center;justify-content:center;gap:0.25rem;text-align:center}.s-offer-show-more-icon{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-offer-show-more-title{font-size:0.875rem;line-height:1.25rem;font-weight:600;line-height:1.25;--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-offer-drawer-card .s-products-list-compact-cards{margin-bottom:0px !important}.s-offer-max-discount{font-size:13px;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-offer-branches{margin-top:0.75rem;text-align:right}.s-offer-branches-label{margin-bottom:0.25rem;display:block;font-size:13px;font-weight:700;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-offer-branches-list{display:flex;flex-wrap:wrap;column-gap:1rem;font-size:13px;line-height:1.625}.s-offer-branch-item{display:inline-block;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-offer-payment-methods{margin-top:0.75rem;text-align:right}.s-offer-payment-methods-label{margin-bottom:0.25rem;display:block;font-size:13px;font-weight:700;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-offer-payment-methods-list{display:flex;flex-wrap:wrap;column-gap:1rem;font-size:13px;line-height:1.625}.s-offer-payment-method-item{display:inline-block;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-offer-discount-amount{font-size:12px;line-height:15px;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-offer-modal-cat-item.swiper-slide{margin-top:1rem;margin-bottom:1rem;display:flex;height:9rem;max-width:180px;flex-direction:column;align-items:center;justify-content:center;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.75rem;text-align:center;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));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:500ms}.s-offer-modal-cat-item.swiper-slide:hover{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px 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-offer-modal-brand-item.swiper-slide{margin-top:1rem;margin-bottom:1rem;display:flex;height:9rem;max-width:180px;flex-direction:column;align-items:center;justify-content:center;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.75rem;text-align:center;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));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:500ms}.s-offer-modal-brand-item.swiper-slide:hover{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px 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-offer-modal-tag-item.swiper-slide{margin-top:1rem;margin-bottom:1rem;display:flex;height:9rem;max-width:180px;flex-direction:column;align-items:center;justify-content:center;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.75rem;text-align:center;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));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:500ms}.s-offer-modal-tag-item.swiper-slide:hover{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px 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-offer-modal-product.swiper-slide{display:flex;width:70%;flex-shrink:0;flex-grow:1;flex-direction:column}@media (min-width: 640px){.s-offer-modal-product.swiper-slide{width:40%}}@media (min-width: 1024px){.s-offer-modal-product.swiper-slide{width:28%}}';export{s as salla_offer}
|
|
4
|
+
import{r as t,h as r,a as e}from"./p-C1mBhG6Z.js";import{t as o}from"./p-CrSV-tno.js";var i,a;!function(t){t.ProductDetail="product.single",t.Cart="cart"}(i||(i={})),function(t){t.Conditional="conditional",t.PercentageOrFixed="fixed",t.DiscountsTable="discounts_table",t.Bank="bank",t.BuyXGetY="buy_x_get_y",t.SpecialPrice="special_price",t.Percentage="percentage",t.FixedAmount="fixed_amount"}(a||(a={}));const s=class{constructor(r){t(this,r),this.productCardComponent="salla-product-card",this.offersList=[],this.canRender=!1,this.showOffer=salla.config.get("store.settings.product.show_special_offers"),this.showAllOffersModal=!1,this.showProductsModal=!1,this.selectedOfferProducts=[],this.collapsedOffers={},this.expandedCategories={},this.productsLoaded=!1,this.offer_with_price_text=salla.lang.get("pages.offer.with_price",{price:""}),this.with_discount_text=salla.lang.get("pages.products.with_a_discount"),this.product_discount_text=salla.lang.get("pages.products.discount"),this.special_offer_text=salla.lang.get("pages.products.special_offer"),this.buy_quantity_text=t=>salla.lang.get("pages.offer.buy_quantity",{quantity:t}),this.products_link_text=salla.lang.get("pages.offer.included_products","المنتجات المشمولة"),this.min_spend_text=t=>o("pages.offer.min_spend_amount",{amount:t,currency:""},`بحد أدنى ${t} من مبلغ الشراء`),this.min_items_text=t=>o("pages.offer.min_items",{items:t},`بحد أدنى ${t} منتجات`),this.max_discount_text=t=>o("pages.offer.max_discount_amount",{amount:t,currency:""},`بحد أقصى ${t} للخصم`),this.branches_text=o("pages.offer.available_branches",{},"الفروع المتاحة"),this.buy_from_text=o("pages.offer.buy_from_categories",{},"اشترِ من:"),this.get_from_text=o("pages.offer.get_from_categories",{},"احصل من:"),this.payment_methods_text=o("pages.offer.payment_methods",{},"طرق الدفع"),this.product_text=salla.lang.get("common.elements.product","منتج"),salla.lang.onLoaded((()=>{this.offer_with_price_text=salla.lang.get("pages.offer.with_price"),this.with_discount_text=salla.lang.get("pages.products.with_a_discount"),this.product_discount_text=salla.lang.get("pages.products.discount"),this.special_offer_text=salla.lang.get("pages.products.special_offer"),this.buy_quantity_text(0),this.products_link_text=salla.lang.get("pages.offer.included_products","المنتجات المشمولة"),this.min_spend_text=t=>o("pages.offer.min_spend_amount",{amount:t,currency:""},`بحد أدنى ${t} من مبلغ الشراء`),this.min_items_text=t=>o("pages.offer.min_items",{items:t},`بحد أدنى ${t} منتجات`),this.max_discount_text=t=>o("pages.offer.max_discount_amount",{amount:t,currency:""},`بحد أقصى ${t} للخصم`),this.branches_text=o("pages.offer.available_branches",{},"الفروع المتاحة"),this.buy_from_text=o("pages.offer.buy_from_categories",{},"اشترِ من:"),this.get_from_text=o("pages.offer.get_from_categories",{},"احصل من:"),this.payment_methods_text=o("pages.offer.payment_methods",{},"طرق الدفع"),this.product_text=salla.lang.get("common.elements.product","منتج")})),salla.onReady((()=>{this.currentPage=salla.config.get("page.slug");const t=salla.config.get("currencies")||{},r=salla.config.get("user.currency_code");this.userCurrency=t[r]||{symbol:"",code:r||"SAR",name:""}}))}async getEndpointByPageName(){return this.currentPage==i.Cart?`offers/cart/${await Salla.cart.getCurrentCartId()}`:this.currentPage==i.ProductDetail?`offers/product/${salla.config.get("page.id")}`:"offers"}emitPromotionViewed(){if(!(this.offersList.length&&this.canRender&&this.showOffer))return;const t=this.offersList.slice(0,5).map(((t,r)=>({id:t.id,name:t.title,creative:t.description||"",position:r+1})));salla.event.emit("salla::offer.promotion.viewed",t)}emitPromotionClicked(t,r=1){if(!(this.offersList.length&&this.canRender&&this.showOffer))return;const e=t||this.offersList[0];salla.event.emit("salla::offer.promotion.clicked",[{id:e.id,name:e.title,creative:e.description||"",position:r}])}componentWillLoad(){return this.hasCustomComponent=!!customElements.get(this.productCardComponent),new Promise((t=>salla.onReady(t))).then((()=>{if(this.showOffer=!salla.url.is_page("product.single")||salla.config.get("store.settings.product.show_special_offers"),!this.showOffer)throw new Error("Merchant disabled showing the offers on product page")})).then((async()=>this.currentPage==i.Cart?salla.api.cart.offers():salla.api.request(await this.getEndpointByPageName()))).then((async t=>{if(!(this.offersList=t.data).length)throw new Error("salla-offers:: There is no offers!");if(this.offersList=this.offersList.filter((t=>[a.SpecialPrice,a.Bank,a.BuyXGetY,a.DiscountsTable,a.PercentageOrFixed,a.Percentage,a.FixedAmount].includes(t.type))),!this.offersList.length)throw new Error("salla-offers:: No supported offer types found!");let r=null;this.offersList.some((t=>{const r=t.details;return"category"===r.apply_to&&r.targets||"categories"===r.apply_to&&r.targets||t.type===a.BuyXGetY&&("categories"===r.get?.source||"category"===r.get?.source||"categories"===r.buy?.source||"category"===r.buy?.source)}))&&(r=(await salla.product.api.categories()).data);const e=new Set;for(const t of this.offersList){const r=t.details;"product"!==r.apply_to&&"products"!==r.apply_to||!r.targets||r.targets.forEach((t=>e.add(t))),t.type===a.BuyXGetY&&"products"===r.get?.source&&r.get?.source_value&&r.get.source_value.forEach((t=>e.add(t))),t.type!==a.BuyXGetY||"products"!==r.buy?.source&&"product"!==r.buy?.source||!r.buy?.source_value||r.buy.source_value.forEach((t=>e.add(t)))}let o={};if(e.size>0)try{const t=await salla.product.api.fetch({source:"selected",source_value:Array.from(e)});o=Object.fromEntries(t.data.map((t=>[t.id,t])))}catch(t){o={}}for(const t of this.offersList){const e=t.details;if(("category"===e.apply_to&&e.targets||"categories"===e.apply_to&&e.targets)&&r&&(e.categories=this.findCategories(r,e.targets)),"product"!==e.apply_to&&"products"!==e.apply_to||!e.targets||(e.products=e.targets.map((t=>o[t])).filter(Boolean)),"brand"===e.apply_to&&e.targets&&(e.brands=e.targets),"tag"===e.apply_to&&e.targets&&(e.tags=e.targets),t.type===a.BuyXGetY&&e.get){const t=e.get;"products"===t.source&&t.source_value?t.products=t.source_value.map((t=>o[t])).filter(Boolean):("categories"===t.source||"category"===t.source)&&r&&t.source_value&&(t.categories=this.findCategories(r,t.source_value),e.categories=t.categories)}if(t.type===a.BuyXGetY&&e.buy){const t=e.buy;"products"!==t.source&&"product"!==t.source||!t.source_value?("categories"===t.source||"category"===t.source)&&r&&t.source_value&&(t.categories=this.findCategories(r,t.source_value)):t.products=t.source_value.map((t=>o[t])).filter(Boolean)}}return this.offersList})).then((()=>{this.canRender=!0})).catch((t=>{salla.logger.warn(t)}))}componentDidLoad(){let t=this.host.querySelector(".s-slider-block__title-nav");t?.classList.add("s-offer-bank-payment-nav"),this.emitPromotionViewed()}findCategories(t,r){let e=[];for(const o of t)r.includes(o.id_||o.id)&&e.push(o),o.sub_categories?.length>0&&(e=e.concat(this.findCategories(o.sub_categories,r)));return e}render(){if(!this.offersList.length||!this.canRender||!this.showOffer)return null;const t=salla.lang.get("pages.offer.offers_title","عروض المنتج"),e=salla.lang.get("pages.offer.offers_subtitle","احصل على المنتج بسعر مخفض مع أفضل العروض");return[r("div",{class:"s-offer-wrapper"},r("salla-slider",{type:"carousel",id:"offers-slider","block-title":t,"block-subTitle":e,"show-controls":this.offersList.length>1},r("div",{slot:"items"},this.offersList.slice(0,5).map(((t,r)=>this.renderOfferCard(t,r+1))),this.offersList.length>5&&this.renderShowMoreCard()))),this.renderAllOffersModal(),this.renderProductsModal()]}renderShowMoreCard(){return r("div",{class:"s-offer-slide-one-fourth swiper-slide",onClick:t=>{t.preventDefault(),t.stopPropagation(),this.openAllOffersModal()}},r("div",{class:"s-offer-card s-offer-show-more-card"},r("i",{class:"sicon-add s-offer-show-more-icon"}),r("h3",{class:"s-offer-show-more-title"},salla.lang.get("pages.offer.show_more_offers","عرض المزيد من العروض"))))}openAllOffersModal(){this.showAllOffersModal=!0}closeAllOffersModal(){this.showAllOffersModal=!1}closeProductsModal(){this.showProductsModal=!1,this.selectedOfferProducts=[],this.productsLoaded=!1}handleAccordionToggle(t,r){this.collapsedOffers={...this.collapsedOffers,[t]:r}}getOfferProducts(t){const r=t.details;return r.products&&r.products.length>0?r.products:t.type===a.BuyXGetY&&r.get?.products?r.get.products:[]}renderCardDescriptionRow(t,e=!1){const o=e&&t.type===a.DiscountsTable?this.renderProductsLinkForModalCard(t,!1):null;return t.description||o?r("div",{class:"s-offer-card-description-row"},t.description&&r("p",{class:"s-offer-card-description"},t.description),o):null}renderProductsLinkForModalCard(t,e){const o=this.getOfferProducts(t);return o&&0!==o.length?r("div",{class:"s-offer-products-link",onClick:t=>{t.stopPropagation(),this.selectedOfferProducts=o,this.showProductsModal=!0}},r("span",{class:"s-offer-products-link-text"},this.products_link_text),e&&r("i",{class:"sicon-keyboard_arrow_down s-offer-products-link-icon"})):null}renderAllOffersModal(){return r("salla-drawer",{visible:this.showAllOffersModal,position:"right",width:"md","no-padding":!0,"drawer-title":salla.lang.get("pages.offer.all_offers_title","جميع العروض"),onDrawerVisibilityChanged:t=>!t.detail&&this.closeAllOffersModal()},r("div",{class:"s-offer-drawer-content"},this.offersList.map(((t,r)=>this.renderModalOfferCard(t,r+1)))))}renderProductsModal(){return r("salla-drawer",{visible:this.showProductsModal,width:"md",position:"right","no-padding":!0,"drawer-title":this.products_link_text,onDrawerVisibilityChanged:t=>!t.detail&&this.closeProductsModal()},r("div",{class:"s-offer-products-drawer-content"},this.selectedOfferProducts?.length>0?r("div",null,!this.productsLoaded&&r("div",{class:"flex items-center justify-center p-8"},r("salla-loading",{size:"24"})),r("salla-products-list",{source:"selected","source-value":JSON.stringify(this.selectedOfferProducts.map((t=>t.id))),"product-card-component":this.productCardComponent,"horizontal-cards":!0,"compact-cards":!0,includes:["images"],onProductsFetched:()=>this.productsLoaded=!0})):r("div",{class:"p-4 text-center text-gray-500"},salla.lang.get("blocks.products.no_products_found","لا توجد منتجات"))))}renderModalOfferCard(t,e=1){const o=this.getOfferProducts(t),i=o&&o.length>0,s=!1!==this.collapsedOffers[t.id];return r("div",{class:"s-offer-drawer-card"},r("div",{class:"s-offer-card-main",onClick:()=>this.emitPromotionClicked(t,e)},r("div",{class:"s-offer-card-icon"},this.getOfferIcon(t.type)),r("div",{class:"s-offer-card-content"},r("h3",{class:"s-offer-card-title",title:t.title},t.title),this.renderCardDescriptionRow(t),t.type===a.DiscountsTable?r("div",{class:"s-offer-card-details"},this.renderDiscountTableOfferContent(t),this.renderOfferPaymentMethods(t),this.renderOfferBranches(t)):r("div",{class:"s-offer-card-details"},t.type===a.PercentageOrFixed||t.type===a.Percentage||t.type===a.FixedAmount?this.renderPercentageOrFixedOfferContent(t):this.renderMinSpend(t),this.renderOfferCategories(t),this.renderOfferBrands(t),this.renderOfferTags(t),this.renderOfferPaymentMethods(t),this.renderOfferBranches(t)))),i&&r("salla-accordion",{collapsed:s,collapsible:!0,size:"sm",onClick:t=>t.stopPropagation(),onAccordionToggle:r=>this.handleAccordionToggle(t.id,r.detail.payload.collapsed)},r("salla-accordion-head",{collapsible:!0,collapsed:s},r("div",{slot:"title",class:"s-offer-products-thumbnails"},r("span",{class:"s-offer-products-title"},this.products_link_text,r("i",{class:`sicon-keyboard_arrow_${s?"down":"up"} s-offer-products-link-icon`})),r("div",{class:"s-offer-products-thumbnails-stack"},o.slice(0,3).map(((t,e)=>r("div",{class:"s-offer-product-thumbnail",style:{zIndex:`${e+1}`}},r("img",{src:t.thumbnail||t.image?.url||salla.url.cdn("images/s-empty.png"),alt:t.name})))),o.length>3&&r("div",{class:"s-offer-products-more-count",style:{zIndex:"7"}},"+",o.length-3)))),r("salla-accordion-body",null,r("div",{class:"s-offer-products-content"},r("salla-products-list",{source:"selected","source-value":JSON.stringify(o.map((t=>t.id))),"product-card-component":this.productCardComponent,"horizontal-cards":!0,"compact-cards":!0,includes:["images"]})))))}renderOfferCard(t,e=1){return r("div",{class:"s-offer-slide-one-fourth swiper-slide",onClick:()=>this.emitPromotionClicked(t,e)},r("div",{class:"s-offer-card"},r("div",{class:"s-offer-card-icon"},this.getOfferIcon(t.type)),r("div",{class:"s-offer-card-content"},r("h3",{class:"s-offer-card-title",title:t.title},t.title),this.renderCardDescriptionRow(t,!0),r("div",{class:"s-offer-card-details"},t.type===a.DiscountsTable?[this.renderDiscountTableOfferContent(t),this.renderOfferPaymentMethods(t),this.renderOfferBranches(t)]:t.type===a.PercentageOrFixed||t.type===a.Percentage||t.type===a.FixedAmount?[this.renderPercentageOrFixedOfferContent(t),this.renderOfferCategories(t),this.renderOfferBrands(t),this.renderOfferTags(t),this.renderOfferPaymentMethods(t),this.renderOfferBranches(t)]:[this.renderMinSpend(t),this.renderOfferCategories(t),this.renderOfferBrands(t),this.renderOfferTags(t),this.renderOfferPaymentMethods(t),this.renderOfferBranches(t)],t.type!==a.DiscountsTable&&this.renderProductsLinkForModalCard(t,!1)))))}getOfferIcon(t){return r("i",{class:{[a.DiscountsTable]:"sicon-discount-calculator",[a.Bank]:"sicon-bank",[a.SpecialPrice]:"sicon-fire",[a.BuyXGetY]:"sicon-gift",[a.PercentageOrFixed]:"sicon-special-discount",[a.Percentage]:"sicon-special-discount",[a.FixedAmount]:"sicon-special-discount"}[t]||"sicon-discount"})}renderDiscountTableOfferContent(t){const e=t.details.discounts||[];return e.length?r("div",null,!t.description&&r("div",{class:"s-offer-card-description"},salla.lang.get("pages.offer.discount_table_subtitle","وفِّر أكثر بشراء منتجات أكثر")),r("table",{class:"s-offer-discount-table"},r("tbody",null,this.groupDiscountsByRows(e,3).map(((t,e)=>r("tr",{key:e},t.map(((t,e)=>r("td",{key:e},r("div",{class:"s-offer-discount-percentage"},t.percentage,"%"),r("div",{class:"s-offer-discount-condition"},this.formatDiscountCondition(t))))))))))):null}renderMinSpend(t){const e=t.details;return e.min_spend>0?r("div",{class:"s-offer-min-spend",innerHTML:this.min_spend_text(this.money(e.min_spend))}):null}renderPercentageOrFixedOfferContent(t){const e=t.details;return e.discount_value||e.min_spend>0||e.min_items>0||e.max_discount_amount>0?r("div",{class:"s-offer-percentage-fixed-content"},e.min_spend>0&&r("div",{class:"s-offer-min-spend",innerHTML:this.min_spend_text(this.money(e.min_spend))}),e.min_items>0&&r("div",{class:"s-offer-min-items"},this.min_items_text(e.min_items)),e.max_discount_amount>0&&r("div",{class:"s-offer-max-discount",innerHTML:this.max_discount_text(this.money(e.max_discount_amount))})):null}groupDiscountsByRows(t,r){const e=[];for(let o=0;o<t.length;o+=r)e.push(t.slice(o,o+r));return e}money(t){return"function"==typeof salla?.money?salla.money(t):`${t} ${this.userCurrency?.symbol||""}`}formatDiscountCondition(t){return`${t.quantity??1} ${this.product_text}`}renderCategoryGroup(t,e,o){return r("div",{class:"s-offer-categories-group"},r("span",{class:"s-offer-categories-label"},o),r("div",{class:"s-offer-categories-list"},e.map(((e,o)=>r("a",{key:`${t.id}-${o}`,class:"s-offer-category-item",href:e.url||salla.url.create("categories",e.id||e.id_)},e.name)))))}renderOfferCategories(t){const e=t.details;let o=e.categories||[];if(t.type===a.BuyXGetY&&e.get?.categories&&(o=e.get.categories),t.type===a.BuyXGetY){const o=e.buy?.categories||[],i=e.get?.categories||[],a=t=>t.map((t=>t.id||t.id_)).join(",");if(o.length&&i.length&&a(o)!==a(i))return r("div",{class:"s-offer-categories"},this.renderCategoryGroup(t,o,this.buy_from_text),this.renderCategoryGroup(t,i,this.get_from_text))}if(!o.length)return null;const i=this.expandedCategories[t.id],s=o.length>3,n=i?o:o.slice(0,3);return r("div",{class:"s-offer-categories"},r("div",{class:"s-offer-categories-list"},n.map(((t,e)=>r("a",{key:e,class:"s-offer-category-item",href:t.url||salla.url.create("categories",t.id||t.id_)},t.name))),s&&r("span",{class:"s-offer-categories-toggle",onClick:r=>{r.preventDefault(),r.stopPropagation(),this.toggleCategoryExpansion(t.id)}},i?r("span",null,r("i",{class:"sicon-keyboard_arrow_up"})," ",salla.lang.get("common.elements.hide","إخفاء")):r("span",null,salla.lang.get("common.elements.show","عرض")," ","+"+(o.length-3)," ",r("i",{class:"sicon-keyboard_arrow_down"})))))}renderOfferBrands(t){const e=t.details.brands||[];if(!e.length)return null;const o=this.expandedCategories[t.id],i=e.length>3,a=o?e:e.slice(0,3);return r("div",{class:"s-offer-categories"},r("div",{class:"s-offer-categories-list"},a.map(((t,e)=>r("a",{key:e,class:"s-offer-category-item",href:t.url},t.name))),i&&r("span",{class:"s-offer-categories-toggle",onClick:r=>{r.preventDefault(),r.stopPropagation(),this.toggleCategoryExpansion(t.id)}},o?r("span",null,r("i",{class:"sicon-keyboard_arrow_up"})," ",salla.lang.get("common.elements.hide","إخفاء")):r("span",null,salla.lang.get("common.elements.show","عرض")," ","+"+(e.length-3)," ",r("i",{class:"sicon-keyboard_arrow_down"})))))}renderOfferPaymentMethods(t){const e=t.details.payment_methods||[];return e.length?r("div",{class:"s-offer-payment-methods"},r("span",{class:"s-offer-payment-methods-label"},this.payment_methods_text),r("div",{class:"s-offer-payment-methods-list"},e.map(((t,e)=>r("span",{key:e,class:"s-offer-payment-method-item"},t.name))))):null}renderOfferBranches(t){const e=t.details.branches||[];return e.length?r("div",{class:"s-offer-branches"},r("span",{class:"s-offer-branches-label"},this.branches_text),r("div",{class:"s-offer-branches-list"},e.map(((t,e)=>r("span",{key:e,class:"s-offer-branch-item"},t.name))))):null}renderOfferTags(t){const e=t.details.tags||[];if(!e.length)return null;const o=this.expandedCategories[t.id],i=e.length>3,a=o?e:e.slice(0,3);return r("div",{class:"s-offer-categories"},r("div",{class:"s-offer-categories-list"},a.map(((t,e)=>r("a",{key:e,class:"s-offer-category-item",href:t.url||salla.url.create("tags",t.id)},t.name))),i&&r("span",{class:"s-offer-categories-toggle",onClick:r=>{r.preventDefault(),r.stopPropagation(),this.toggleCategoryExpansion(t.id)}},o?r("span",null,r("i",{class:"sicon-keyboard_arrow_up"})," ",salla.lang.get("common.elements.hide","إخفاء")):r("span",null,salla.lang.get("common.elements.show","عرض")," ","+"+(e.length-3)," ",r("i",{class:"sicon-keyboard_arrow_down"})))))}toggleCategoryExpansion(t){this.expandedCategories={...this.expandedCategories,[t]:!this.expandedCategories[t]}}get host(){return e(this)}};s.style='/*!twlt*/:host .s-drawer-close:where([dir=rtl],[dir=rtl] *){left:0}.visible{visibility:visible}.fixed{position:fixed}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.items-center{align-items:center}.justify-center{justify-content:center}.p-4{padding:1rem}.p-8{padding:2rem}.text-center{text-align:center}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-offer-wrapper{position:relative;margin-bottom:2rem;overflow:hidden;border-radius:var(--s-radius, 0.25rem);--tw-bg-opacity:1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1));padding:0.625rem}@media (min-width: 640px){.s-offer-wrapper{padding:1.25rem}}@media (min-width: 768px){.s-offer-wrapper{margin-bottom:4rem}}.s-offer-corner-badge{position:absolute;z-index:1;float:left;margin:0px;height:auto;width:auto;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-width:0px;--tw-bg-opacity:1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1));padding-left:3rem;padding-right:3rem;padding-top:0.25rem;padding-bottom:0.25rem;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.s-offer-corner-badge:where([dir="ltr"],[dir="ltr"] *){top:1.25rem;right:-3.5rem;--tw-rotate:45deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-offer-corner-badge:where([dir="rtl"],[dir="rtl"] *){top:0.75rem;left:-3rem;--tw-rotate:-45deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-offer-slide-one-sixth{width:50% !important}@media (min-width: 640px){.s-offer-slide-one-sixth{width:33.333333% !important}}@media (min-width: 768px){.s-offer-slide-one-sixth{width:25% !important}}@media (min-width: 1024px){.s-offer-slide-one-sixth{width:16.666667% !important}}.s-offer-slide-one-sixth-single{display:flex;align-items:center !important;gap:0.75rem}.s-offer-slide-cat-entry{display:flex;height:9rem;flex-direction:column;align-items:center;justify-content:center;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.75rem;text-align:center;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));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:500ms}.s-offer-slide-cat-entry:hover{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));--tw-shadow:5px 10px 30px #2B2D340D;--tw-shadow-colored:5px 10px 30px 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-offer-slide-cat-entry i{margin-bottom:1rem;display:inline-block;font-size:33px;color:var(--color-primary)}.s-offer-slide-cat-entry h4{font-size:0.875rem;line-height:1.25rem;font-weight:700}.s-offer-slide-one-fourth{height:auto;width:auto;max-width:310px}.s-offer-slide-offer-entry{display:flex;height:9rem;flex-direction:column;align-items:center;justify-content:space-between;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));text-align:center;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));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:500ms}.s-offer-slide-offer-entry:hover{--tw-shadow:5px 10px 30px #2B2D340D;--tw-shadow-colored:5px 10px 30px 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-offer-slide-offer-entry-price-quantity-container{display:flex;width:100%;flex-grow:1;flex-direction:column;justify-content:center;padding:0.75rem}.s-offer-slide-offer-entry-quantity{margin-bottom:0.25rem}.s-offer-slide-offer-entry-price{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-offer-slide-offer-entry-price-amount{font-size:1.875rem;line-height:2.25rem;font-weight:800;--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.s-offer-slide-offer-entry-price-amount-percent{width:100%;border-top-width:1px;--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:0.5rem;font-size:0.875rem;line-height:1.25rem}.s-offer-slide-offer-entry-price-amount-percent span{font-weight:700}.s-offer-discount-list{margin-top:1.25rem}.s-offer-discount-list>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.625rem * var(--tw-space-y-reverse))}.s-offer-discount-list-item{display:flex;justify-content:space-between;border-top-width:1px;padding-top:0.625rem}.s-offer-discount-list-item-money{font-weight:700;--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.s-offer-discount-list-item-discount{font-size:0.875rem;line-height:1.25rem}.s-offer-discount-list-item-discount span{font-weight:700}.s-offer-bank-wrapper{position:relative;display:flex;min-height:144px;width:100%;flex-direction:column;align-items:center;justify-content:center;border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.5rem}.s-offer-bank-wrapper:hover{--tw-shadow:5px 10px 30px #2B2D340D;--tw-shadow-colored:5px 10px 30px 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-offer-bank-wrapper-multi-spacer{margin-top:1.25rem}.s-offer-bank-wrapper-sinlge-item{display:flex;align-items:center;gap:0.75rem}.s-offer-bank-logo{margin-bottom:0.25rem;display:flex;height:5rem;width:5rem;align-items:center;border-radius:var(--s-radius, 0.25rem)}.s-offer-bank-logo img{height:100%;max-height:100%;width:100%;object-fit:contain}.s-offer-bank-payment-wrapper{display:flex;min-width:84px;flex-wrap:nowrap;align-items:center;justify-content:center;gap:0.25rem}.s-offer-bank-payment-single{display:flex;height:1.5rem;width:2rem;align-items:center;justify-content:center;border-radius:var(--s-radius, 0.25rem);--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.s-offer-bank-payment-single img{max-height:100%;max-width:100%;object-fit:contain}.s-offer-bank-payment-discount-percent{position:absolute;top:-1rem;left:auto;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1));padding-left:0.5rem;padding-right:0.5rem;padding-top:0.25rem;padding-bottom:0.25rem;font-size:11px;font-weight:600;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));--tw-shadow:0 1px 2px rgba(0,0,0,0.35);--tw-shadow-colored:0 1px 2px 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-offer-bank-message{width:100%}.s-offer-bank-message h2{max-width:92%;font-size:1rem;line-height:1.5rem;font-weight:500;--tw-text-opacity:1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.s-offer-bank-message p{max-width:95%;font-size:0.875rem;line-height:1.25rem;font-weight:400;line-height:1.5;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-offer-bank-message-amount{font-weight:700;--tw-text-opacity:1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.s-offer-bank-payment-nav{margin-left:3.5rem !important;margin-right:3.5rem !important}.s-offer-.s-slider-block__title{position:relative;margin-bottom:1.25rem}.s-offer-.s-slider-block__title::before{position:absolute;top:1rem;font-size:3rem;font-weight:400;line-height:1;--tw-text-opacity:1;color:rgb(254 242 242 / var(--tw-text-opacity, 1));--tw-content:\'ee30\';content:var(--tw-content)}.s-offer-.s-slider-block__title:where([dir="ltr"],[dir="ltr"] *)::before{content:var(--tw-content);left:0px}.s-offer-.s-slider-block__title:where([dir="rtl"],[dir="rtl"] *)::before{content:var(--tw-content);right:0px}.s-offer-.s-offer-wrapper .s-slider-block__title h2{z-index:0;font-size:1.125rem;line-height:1.75rem;--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-offer-.s-offer-wrapper .s-slider-block__title p{margin-top:0.25rem;overflow:visible;display:block;-webkit-box-orient:horizontal;-webkit-line-clamp:none;line-height:1.5rem}.s-offer-wrapper .s-slider-block__title::before{content:\\ee30;font-family:sallaicons;position:absolute;top:1rem;font-size:3rem;font-weight:400;line-height:1;z-index:-1;color:rgba(254, 242, 242, 1)}.s-offer-bank-wrapper-single-item{display:flex;align-items:center;gap:0.875rem}.s-offer-slides-container{display:flex;gap:1rem}.s-offer-card{margin-left:auto;margin-right:auto;display:flex;height:100%;min-height:138px;max-width:28rem;gap:0.75rem;border-radius:0.375rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:1.5rem;padding-right:1.5rem;padding-top:1.25rem;padding-bottom:1.25rem}.s-offer-card-icon{display:flex;height:3rem;width:3rem;flex-shrink:0;align-items:center;justify-content:center;align-self:flex-start;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));font-size:1.5rem;line-height:2rem}.s-offer-card-content{min-width:0px;flex:1 1 0%;text-align:right}.s-offer-card-title{margin-bottom:0.25rem;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:0.875rem;line-height:1.25rem;font-weight:600;line-height:1.25;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-offer-card-description{font-size:0.875rem;line-height:1.25rem;line-height:1.625;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-offer-card-description-row{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:0.75rem;row-gap:0.25rem}.s-offer-card-details{display:flex;width:100%;flex-direction:column}.s-offer-shared-content{display:flex;flex-direction:column;align-items:center;text-align:center}.s-offer-drawer-card{overflow:hidden;border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:1rem;padding-right:1rem;padding-top:1.5rem;padding-bottom:1.5rem}.s-offer-drawer-card:last-child{border-bottom-width:0px}.s-offer-drawer-card .s-offer-card-main{display:flex;align-items:center;gap:1rem;padding:0px}.s-offer-drawer-card .s-offer-card-icon{display:flex;height:3rem;width:3rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));font-size:1.25rem;line-height:1.75rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-offer-drawer-card .s-offer-card-content{min-width:0px;flex:1 1 0%;text-align:right}.s-offer-drawer-card .s-offer-card-title{margin-bottom:0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:0.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-offer-drawer-card .s-offer-card-description{font-size:0.875rem;line-height:1.25rem;line-height:1.625;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-offer-drawer-card .s-accordion-wrapper{margin:0px}.s-offer-drawer-card .s-accordion-head-wrapper{margin-right:60px;width:100%;max-width:370px;cursor:pointer;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-bottom:0.75rem;padding-right:0px;padding-top:0px}.s-offer-drawer-card .s-accordion-head-wrapper-end{display:none !important}.s-offer-drawer-card .s-accordion-body-wrapper{overflow:auto;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:1rem;padding-right:1rem;padding-bottom:0px}.s-offer-drawer-card .s-accordion-body-wrapper::-webkit-scrollbar{width:5px}.s-offer-drawer-card .s-accordion-body-wrapper::-webkit-scrollbar-track{background-color:#eee}.s-offer-drawer-card .s-accordion-body-wrapper::-webkit-scrollbar-thumb{background-color:var(--color-primary);border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;-ms-border-radius:10px;-o-border-radius:10px}.s-offer-products-thumbnails{display:flex;width:100%;align-items:center;justify-content:space-between}.s-offer-products-thumbnails-stack{position:relative;display:flex;align-items:center}.s-offer-product-thumbnail{position:relative;z-index:10;margin-left:-0.5rem;height:2rem;width:2rem;overflow:hidden;border-radius:0.375rem;border-width:2px;--tw-border-opacity:1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.s-offer-product-thumbnail:first-child{margin-left:0px}.s-offer-product-thumbnail img{height:100%;width:100%;object-fit:cover}.s-offer-products-more-count{position:relative;z-index:50;margin-left:-0.5rem;display:flex;height:2rem;width:2rem;align-items:center;justify-content:center;border-radius:0.375rem;border-width:2px;--tw-border-opacity:1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));font-size:11px;font-weight:400;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));direction:ltr}.s-offer-products-title{display:flex;align-items:center;font-size:0.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-offer-products-accordion-content{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:0.75rem}.s-offer-products-link{display:flex;cursor:pointer;align-items:center;justify-content:space-between;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1));transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:200ms}.s-offer-products-link:hover{--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-offer-products-link-text{font-size:0.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1));text-decoration-line:underline}.s-offer-products-link-icon{font-size:15px;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1));transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:200ms}.s-offer-products-link:hover .s-offer-products-link-icon{--tw-translate-x:-0.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.s-offer-drawer-padding{padding:0px !important}.s-offer-drawer-content{max-height:calc(100vh - 120px);overflow-y:auto !important;padding-left:1rem;padding-right:1rem}.s-offer-drawer-content::-webkit-scrollbar{width:5px}.s-offer-drawer-content::-webkit-scrollbar-track{background-color:#eee}.s-offer-drawer-content::-webkit-scrollbar-thumb{background-color:var(--color-primary);border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;-ms-border-radius:10px;-o-border-radius:10px}.s-offer-products-drawer-content{max-height:calc(100vh - 120px);overflow-y:auto !important;padding-left:1.5rem;padding-right:1.5rem}.s-offer-products-drawer-content::-webkit-scrollbar{width:5px}.s-offer-products-drawer-content::-webkit-scrollbar-track{background-color:#eee}.s-offer-products-drawer-content::-webkit-scrollbar-thumb{background-color:var(--color-primary);border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;-ms-border-radius:10px;-o-border-radius:10px}.s-offer-products-list-single-column .s-products-list-wrapper{display:grid !important;grid-template-columns:repeat(1, minmax(0, 1fr)) !important;gap:0.75rem}.s-offer-products-list-single-column salla-product-card[horizontal] img{height:60px !important;max-height:60px !important;width:60px !important;max-width:60px !important;object-fit:cover !important}.s-offer-products-list-single-column salla-product-card[horizontal] button{--tw-bg-opacity:1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1));--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.s-offer-products-list-single-column salla-product-card[horizontal] button:hover{--tw-bg-opacity:1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.s-offer-discount-table{width:100%;border-collapse:collapse}.s-offer-discount-table tr:not(:last-child){border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.s-offer-discount-table td{padding:0.75rem;text-align:right}.s-offer-discount-table td:first-child{padding-right:0px}.s-offer-discount-percentage{font-size:0.75rem;line-height:1rem;font-weight:700;line-height:1.25}.s-offer-discount-condition{margin-top:0.25rem;font-size:10px;line-height:1.25;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-offer-categories{margin-top:0.75rem;text-align:right}.s-offer-categories-group{margin-top:0.25rem;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:0.5rem}.s-offer-categories-label{flex-shrink:0;font-size:13px;font-weight:700;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-offer-categories-list{display:flex;flex-wrap:wrap;column-gap:1rem;font-size:13px;line-height:1.625}.s-offer-categories-list a{text-decoration-line:underline}.s-offer-category-item{display:inline-block;cursor:pointer;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-offer-category-item:hover{--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-offer-categories-toggle{cursor:pointer;font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-offer-categories-toggle:hover{--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-offer-min-spend{margin-top:0.625rem;font-size:13px;line-height:17px;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-offer-percentage-fixed-content{display:flex;flex-direction:column}.s-offer-min-items{font-size:13px;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-offer-discount-table-subtitle{margin-bottom:0.75rem;font-size:0.875rem;line-height:1.25rem;line-height:1.625;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-offer-show-more-card{pointer-events:auto;display:flex;cursor:pointer;align-items:center;justify-content:center;gap:0.25rem;text-align:center}.s-offer-show-more-icon{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-offer-show-more-title{font-size:0.875rem;line-height:1.25rem;font-weight:600;line-height:1.25;--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-offer-drawer-card .s-products-list-compact-cards{margin-bottom:0px !important}.s-offer-max-discount{font-size:13px;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-offer-branches{margin-top:0.75rem;text-align:right}.s-offer-branches-label{margin-bottom:0.25rem;display:block;font-size:13px;font-weight:700;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-offer-branches-list{display:flex;flex-wrap:wrap;column-gap:1rem;font-size:13px;line-height:1.625}.s-offer-branch-item{display:inline-block;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-offer-payment-methods{margin-top:0.75rem;text-align:right}.s-offer-payment-methods-label{margin-bottom:0.25rem;display:block;font-size:13px;font-weight:700;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-offer-payment-methods-list{display:flex;flex-wrap:wrap;column-gap:1rem;font-size:13px;line-height:1.625}.s-offer-payment-method-item{display:inline-block;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-offer-discount-amount{font-size:12px;line-height:15px;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-offer-modal-cat-item.swiper-slide{margin-top:1rem;margin-bottom:1rem;display:flex;height:9rem;max-width:180px;flex-direction:column;align-items:center;justify-content:center;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.75rem;text-align:center;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));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:500ms}.s-offer-modal-cat-item.swiper-slide:hover{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px 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-offer-modal-brand-item.swiper-slide{margin-top:1rem;margin-bottom:1rem;display:flex;height:9rem;max-width:180px;flex-direction:column;align-items:center;justify-content:center;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.75rem;text-align:center;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));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:500ms}.s-offer-modal-brand-item.swiper-slide:hover{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px 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-offer-modal-tag-item.swiper-slide{margin-top:1rem;margin-bottom:1rem;display:flex;height:9rem;max-width:180px;flex-direction:column;align-items:center;justify-content:center;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.75rem;text-align:center;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));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:500ms}.s-offer-modal-tag-item.swiper-slide:hover{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px 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-offer-modal-product.swiper-slide{display:flex;width:70%;flex-shrink:0;flex-grow:1;flex-direction:column}@media (min-width: 640px){.s-offer-modal-product.swiper-slide{width:40%}}@media (min-width: 1024px){.s-offer-modal-product.swiper-slide{width:28%}}';export{s as salla_offer}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,c as i,h as s,H as e,a as r}from"./p-Bxge4xib.js";const a=class{constructor(s){t(this,s),this.giftCardRedeemed=i(this,"giftCardRedeemed"),this.code="",this.inlineForm=!1,this.pending=!1,this.error=null,this.redeemedOnce=!1,this.isDesktop=!1,this.modalView=null,this.result=null,this.mediaQueryList=null,this.mqlChangeHandler=t=>{this.isDesktop=t.matches,"form"===this.modalView&&this.isDesktop?(this.modalView=null,this.inlineForm=!0):this.inlineForm&&!this.isDesktop&&(this.inlineForm=!1,this.openModal("form"))},this.closeModal=()=>{this.modalView=null,this.modal?.close?.()},this.start=()=>{if(this.error=null,this.code="",this.isDesktop)return this.inlineForm=!0,void setTimeout((()=>this.field?.focus()),0);this.openModal("form")},this.cancel=()=>{this.inlineForm=!1,this.code="",this.error=null,this.closeModal()},this.handleInput=t=>{const i=t.target;this.code=(i.value||"").toUpperCase().replace(/[^A-Z0-9]/g,"").slice(0,16),i.value=this.code,this.error=null},this.onKeyUp=t=>{"Enter"===t.key&&(t.preventDefault(),this.redeem())},this.shopNow=()=>{this.closeModal(),window.location.href=salla.url.get("/")}}breakpointPx(){return 768}async componentWillLoad(){await salla.onReady(),this.mediaQueryList=window.matchMedia(`(min-width: ${this.breakpointPx()}px)`),this.isDesktop=this.mediaQueryList.matches,this.mediaQueryList.addEventListener?this.mediaQueryList.addEventListener("change",this.mqlChangeHandler):this.mediaQueryList.addListener&&this.mediaQueryList.addListener(this.mqlChangeHandler),await salla.lang.onLoaded()}disconnectedCallback(){this.mediaQueryList?.removeEventListener?this.mediaQueryList.removeEventListener("change",this.mqlChangeHandler):this.mediaQueryList?.removeListener&&this.mediaQueryList.removeListener(this.mqlChangeHandler)}tFirst(t,i){for(const s of t){const t=salla.lang.get(s,i);if(t&&t!==s)return t}return""}t(t,i){return this.tFirst([`pages.checkout.${t}`],i)}get canRedeem(){const t=salla.config.get("store.features",[]);return!salla.config.isGuest()&&t.includes("wallet-gift-card")&&t.includes("giftcard-redemption-form-enabled")}get isValidCode(){return/^[A-Z0-9]{16}$/.test(this.code)}get addLabel(){return this.t(this.redeemedOnce?"gift_card_add_another":"gift_card_add")}openModal(t){this.modalView=t,this.modal?.open?.(),"form"===t&&setTimeout((()=>this.field?.focus()),0)}toDate(t){if(!t)return null;const i="object"==typeof t?t.date??t.datetime??null:t;if("number"==typeof i){const t=new Date(i<1e12?1e3*i:i);return isNaN(t.getTime())?null:t}if("string"!=typeof i)return null;const s=new Date(i.replace(" ","T"));return isNaN(s.getTime())?null:s}expiryMonths(t){const i=this.toDate(t);if(!i)return null;const s=Math.round((i.getTime()-Date.now())/2630016e3);return s>0?s:null}formatMoney(t){try{return salla.money(t)||""}catch(t){return salla.logger?.warn?.("gift-card: could not format amount",t),""}}trackRedeem(t,i,s={}){salla.event.dispatch("giftcard::redeemed",{status:t,code:i?i.slice(0,4)+"X".repeat(Math.max(0,i.length-4)):"",...s})}async redeem(){if(this.pending||!this.isValidCode||!this.canRedeem)return;this.pending=!0,this.error=null;const t=this.code;try{const i=await salla.api.request("wallet/gift-card/redeem",{code:this.code},"post"),s=i?.data||{};this.code="",this.field&&(this.field.value=""),this.inlineForm=!1,this.redeemedOnce=!0,this.result=s,this.openModal("success"),this.giftCardRedeemed.emit(s),this.trackRedeem("success",t,{amount:s.amount,new_balance:s.new_balance,expires_at:s.expires_at})}catch(i){const s=i?.response?.data?.error?.fields;this.error=s?Object.values(s).flat().join(", "):i?.response?.data?.error?.message||this.t("gift_card_redeem_error"),this.inlineForm=!1,this.openModal("error"),this.trackRedeem("failed",t,{reason:this.error})}finally{this.pending=!1}}renderPrompt(){return s("div",{class:"s-gift-card-prompt"},s("div",{class:"s-gift-card-intro"},s("span",{class:"s-gift-card-mark"},s("i",{class:"sicon-gift","aria-hidden":"true"})),s("div",{class:"s-gift-card-copy"},s("p",{class:"s-gift-card-title"},this.t("gift_card_title")),s("p",{class:"s-gift-card-subtitle"},this.t("gift_card_subtitle")))),s("salla-button",{class:"s-gift-card-trigger",color:"primary",fill:"outline",onClick:this.start},s("span",null,this.addLabel)))}renderField(){return[s("label",{class:"s-gift-card-label",htmlFor:"gift_card_redeem_field"},this.tFirst(["pages.gift.code"])),s("input",{id:"gift_card_redeem_field",ref:t=>this.field=t,type:"text",maxlength:16,autocomplete:"off",class:"s-gift-card-input",value:this.code,disabled:this.pending,placeholder:this.t("gift_card_redeem_placeholder"),onInput:this.handleInput,onKeyUp:this.onKeyUp})]}renderSubmit(t=!1){return s("salla-button",{id:"gift_card_redeem_submit",color:"primary",width:t?"wide":"normal",loading:this.pending,"loader-position":"center",disabled:this.pending||!this.isValidCode,onClick:()=>this.redeem()},s("span",null,this.t("gift_card_redeem_confirm")))}renderInlineForm(){return s("div",{class:"s-gift-card-form"},s("div",{class:"s-gift-card-field"},this.renderField()),this.renderSubmit(),s("button",{type:"button",class:"s-gift-card-cancel",disabled:this.pending,onClick:this.cancel},this.t("gift_card_cancel")))}renderSheetForm(){return s("div",{class:"s-gift-card-sheet"},s("div",{class:"s-gift-card-field"},this.renderField()),this.renderSubmit(!0))}renderSuccess(){const t=this.formatMoney(this.result?.amount),i=this.expiryMonths(this.result?.expires_at),e=this.t("gift_card_success_title");return s("div",{class:"s-gift-card-result"},s("span",{class:"s-gift-card-result-mark s-gift-card-result-mark-success",innerHTML:'\n<svg viewBox="0 0 96 96" width="72" height="72" role="img" aria-hidden="true" xmlns="http://www.w3.org/2000/svg">\n \x3c!-- burst --\x3e\n <g fill="#F5C242">\n <path d="M48 8l3.2 7.6L59 18l-6.2 5.3L54 31l-6-4-6 4 1.2-7.7L37 18l7.8-2.4z"/>\n <path d="M71 26l1.9 4.4L77 32l-3.6 3 .7 4.5-4.1-2.3-4.1 2.3.7-4.5L63 32l4.1-1.6z"/>\n <path d="M25 26l1.9 4.4L31 32l-3.6 3 .7 4.5L24 37.2 19.9 39.5l.7-4.5L17 32l4.1-1.6z"/>\n </g>\n <g fill="#E4572E" opacity=".9">\n <circle cx="30" cy="18" r="2.4"/>\n <circle cx="66" cy="18" r="2.4"/>\n <circle cx="48" cy="44" r="2.2"/>\n </g>\n \x3c!-- lid --\x3e\n <rect x="20" y="46" width="56" height="12" rx="3" fill="#2E8B57"/>\n \x3c!-- box --\x3e\n <path d="M25 58h46v26a4 4 0 0 1-4 4H29a4 4 0 0 1-4-4z" fill="#3AA76D"/>\n \x3c!-- ribbon --\x3e\n <rect x="44" y="46" width="8" height="42" fill="#F5F7F6"/>\n <rect x="20" y="46" width="56" height="12" rx="3" fill="#2E8B57" opacity="0"/>\n <rect x="44" y="46" width="8" height="12" fill="#E9EFEB"/>\n</svg>\n'}),e&&s("h3",{class:"s-gift-card-result-title"},e),s("p",{class:"s-gift-card-result-text",innerHTML:i?this.tFirst(["pages.checkout.gift_card_success_body_expiring","pages.checkout.gift_card_success_body","pages.checkout.gift_card_redeem_success"],{amount:t,months:i}):this.tFirst(["pages.checkout.gift_card_success_body","pages.checkout.gift_card_redeem_success"],{amount:t})}),s("salla-button",{color:"primary",width:"wide",onClick:this.shopNow},s("span",null,this.tFirst(["pages.loyalty_program.shop_now"]))))}renderError(){return s("div",{class:"s-gift-card-result"},s("span",{class:"s-gift-card-result-mark s-gift-card-result-mark-error"},s("i",{class:"sicon-cancel","aria-hidden":"true"})),s("h3",{class:"s-gift-card-result-title"},this.tFirst(["pages.checkout.gift_card_failure_title","pages.checkout.gift_card_redeem_error"])),s("p",{class:"s-gift-card-result-text"},this.error))}render(){return this.canRedeem?s(e,{class:"s-gift-card"},s("div",{class:"s-gift-card-panel"},this.inlineForm&&this.isDesktop?this.renderInlineForm():this.renderPrompt()),s("salla-modal",{ref:t=>this.modal=t,class:"s-gift-card-modal",width:"sm",position:this.isDesktop?"middle":"bottom","modal-title":this.t("gift_card_redeem_label"),onModalVisibilityChanged:t=>{t.detail||(this.modalView=null)}},s("div",{class:"s-gift-card-modal-body"},"form"===this.modalView&&this.renderSheetForm(),"success"===this.modalView&&this.renderSuccess(),"error"===this.modalView&&this.renderError()))):null}};a.style='/*!twlt*/@charset "UTF-8";.s-gift-card{display:block;flex:1 1 auto;min-width:0}.s-gift-card-panel{height:100%;background:#fff;border-radius:12px;padding:20px;box-sizing:border-box}.s-gift-card-prompt{display:flex;flex-direction:column;align-items:stretch;gap:16px;height:100%}.s-gift-card-intro{display:flex;align-items:center;gap:12px}.s-gift-card-mark{flex:0 0 auto;width:48px;height:48px;border-radius:9999px;background:#fdecef;color:#e8637c;display:inline-flex;align-items:center;justify-content:center;font-size:22px}.s-gift-card-copy{min-width:0}.s-gift-card-title{margin:0;font-weight:700;font-size:15px;color:#1c1c1c}.s-gift-card-subtitle{margin:2px 0 0;font-size:12px;color:#9aa0a6}.s-gift-card-trigger{display:block}.s-gift-card-form{display:flex;align-items:flex-end;gap:12px}.s-gift-card-field{flex:1 1 auto;min-width:0}.s-gift-card-label{display:block;margin-bottom:6px;font-size:13px;font-weight:700;color:#1c1c1c}.s-gift-card-input{width:100%;height:44px;padding:0 14px;box-sizing:border-box;border:1px solid #e6e8eb;border-radius:8px;background:#fff;font-size:13px;color:#1c1c1c}.s-gift-card-input::placeholder{color:#b7bcc2}.s-gift-card-input:focus{outline:none;border-color:var(--color-primary, #2e8b57)}.s-gift-card-cancel{flex:0 0 auto;height:44px;padding:0 8px;border:0;background:none;color:#6b7280;font-size:13px;cursor:pointer}.s-gift-card-cancel:disabled{opacity:0.5;cursor:default}.s-gift-card-sheet{display:flex;flex-direction:column;gap:16px;padding-top:4px}.s-gift-card-result{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 8px 8px}.s-gift-card-result-mark{width:120px;height:120px;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:20px}.s-gift-card-result-mark-success{background:#eaf7f0}.s-gift-card-result-mark-error{background:#fdeaea;color:#fff;font-size:34px}.s-gift-card-result-mark-error i{width:72px;height:72px;border-radius:9999px;background:#ea4b4b;display:inline-flex;align-items:center;justify-content:center}.s-gift-card-result-title{margin:0 0 10px;font-size:19px;font-weight:700;color:#1c1c1c}.s-gift-card-result-text{margin:0 0 22px;font-size:13px;line-height:1.7;color:#6b7280}@media screen and (min-width: 768px){.s-gift-card-panel{padding:22px 24px;display:flex;align-items:center}.s-gift-card-prompt{flex-direction:row;align-items:center;justify-content:space-between;gap:24px;width:100%}.s-gift-card-trigger{flex:0 0 auto}.s-gift-card-form{width:100%}.s-gift-card-result{padding:8px 24px 16px}}.inline{display:inline}.contents{display:contents}.resize{resize:both}.uppercase{text-transform:uppercase}.outline{outline-style:solid}';const l=class{constructor(i){t(this,i),this.theme="default",this.show=!1,this.targetElement=null}handleMouseOver(t){this.targetElement&&this.targetElement.contains(t.target)&&(this.show=!0)}handleMouseOut(t){this.targetElement&&this.targetElement.contains(t.target)&&(this.show=!1)}componentDidLoad(){this.targetElement=document.getElementById(this.targetId)}render(){const t=["default","dark"].includes(this.theme)?this.theme:"default";return s("div",{key:"d689900a8fdad37c6396eb55d8140b48f3eda8b8",class:"s-tooltip-container"},s("div",{key:"0ae14c42d03c5f81ce4f19fa90b0260a21ac1c1e",class:`s-tooltip-item s-tooltip-item--${t}`,style:{display:this.show?"block":"none"}},this.text?s("span",null,this.text):s("slot",null)))}get el(){return r(this)}};l.style='/*!twlt*/.s-tooltip-container{position:relative;display:inline-block}.s-tooltip-item{position:absolute;transform:translateX(-63%) translateY(-50%);background-color:var(--color-primary);color:var(--color-primary-reverse);bottom:100%;left:50%;text-align:center;border-radius:5px;z-index:1;white-space:nowrap;transition:opacity 0.3s;pointer-events:none;margin:0 0 16px 8px;padding:12px;max-width:150px;width:190px;white-space:normal;opacity:1}.s-tooltip-item::after{content:"";position:absolute;bottom:-10px;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:var(--color-primary) transparent transparent transparent}.s-tooltip-item:dir(ltr){transform:translateX(-72%)}.s-tooltip-item--dark{background-color:#555555;color:white;padding:5px 15px;border-radius:8px;font-size:12px;font-weight:normal;max-width:330px;width:max-content}.s-tooltip-item--dark::after{border-color:#555555 transparent transparent transparent}.block{display:block}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}';export{a as salla_gift_card_redeem,l as salla_tooltip}
|
|
4
|
+
import{r as t,c as i,h as s,H as e,a as r}from"./p-C1mBhG6Z.js";const a=class{constructor(s){t(this,s),this.giftCardRedeemed=i(this,"giftCardRedeemed"),this.code="",this.inlineForm=!1,this.pending=!1,this.error=null,this.redeemedOnce=!1,this.isDesktop=!1,this.modalView=null,this.result=null,this.mediaQueryList=null,this.mqlChangeHandler=t=>{this.isDesktop=t.matches,"form"===this.modalView&&this.isDesktop?(this.modalView=null,this.inlineForm=!0):this.inlineForm&&!this.isDesktop&&(this.inlineForm=!1,this.openModal("form"))},this.closeModal=()=>{this.modalView=null,this.modal?.close?.()},this.start=()=>{if(this.error=null,this.code="",this.isDesktop)return this.inlineForm=!0,void setTimeout((()=>this.field?.focus()),0);this.openModal("form")},this.cancel=()=>{this.inlineForm=!1,this.code="",this.error=null,this.closeModal()},this.handleInput=t=>{const i=t.target;this.code=(i.value||"").toUpperCase().replace(/[^A-Z0-9]/g,"").slice(0,16),i.value=this.code,this.error=null},this.onKeyUp=t=>{"Enter"===t.key&&(t.preventDefault(),this.redeem())},this.shopNow=()=>{this.closeModal(),window.location.href=salla.url.get("/")}}breakpointPx(){return 768}async componentWillLoad(){await salla.onReady(),this.mediaQueryList=window.matchMedia(`(min-width: ${this.breakpointPx()}px)`),this.isDesktop=this.mediaQueryList.matches,this.mediaQueryList.addEventListener?this.mediaQueryList.addEventListener("change",this.mqlChangeHandler):this.mediaQueryList.addListener&&this.mediaQueryList.addListener(this.mqlChangeHandler),await salla.lang.onLoaded()}disconnectedCallback(){this.mediaQueryList?.removeEventListener?this.mediaQueryList.removeEventListener("change",this.mqlChangeHandler):this.mediaQueryList?.removeListener&&this.mediaQueryList.removeListener(this.mqlChangeHandler)}tFirst(t,i){for(const s of t){const t=salla.lang.get(s,i);if(t&&t!==s)return t}return""}t(t,i){return this.tFirst([`pages.checkout.${t}`],i)}get canRedeem(){const t=salla.config.get("store.features",[]);return!salla.config.isGuest()&&t.includes("wallet-gift-card")&&t.includes("giftcard-redemption-form-enabled")}get isValidCode(){return/^[A-Z0-9]{16}$/.test(this.code)}get addLabel(){return this.t(this.redeemedOnce?"gift_card_add_another":"gift_card_add")}openModal(t){this.modalView=t,this.modal?.open?.(),"form"===t&&setTimeout((()=>this.field?.focus()),0)}toDate(t){if(!t)return null;const i="object"==typeof t?t.date??t.datetime??null:t;if("number"==typeof i){const t=new Date(i<1e12?1e3*i:i);return isNaN(t.getTime())?null:t}if("string"!=typeof i)return null;const s=new Date(i.replace(" ","T"));return isNaN(s.getTime())?null:s}expiryMonths(t){const i=this.toDate(t);if(!i)return null;const s=Math.round((i.getTime()-Date.now())/2630016e3);return s>0?s:null}formatMoney(t){try{return salla.money(t)||""}catch(t){return salla.logger?.warn?.("gift-card: could not format amount",t),""}}trackRedeem(t,i,s={}){salla.event.dispatch("giftcard::redeemed",{status:t,code:i?i.slice(0,4)+"X".repeat(Math.max(0,i.length-4)):"",...s})}async redeem(){if(this.pending||!this.isValidCode||!this.canRedeem)return;this.pending=!0,this.error=null;const t=this.code;try{const i=await salla.api.request("wallet/gift-card/redeem",{code:this.code},"post"),s=i?.data||{};this.code="",this.field&&(this.field.value=""),this.inlineForm=!1,this.redeemedOnce=!0,this.result=s,this.openModal("success"),this.giftCardRedeemed.emit(s),this.trackRedeem("success",t,{amount:s.amount,new_balance:s.new_balance,expires_at:s.expires_at})}catch(i){const s=i?.response?.data?.error?.fields;this.error=s?Object.values(s).flat().join(", "):i?.response?.data?.error?.message||this.t("gift_card_redeem_error"),this.inlineForm=!1,this.openModal("error"),this.trackRedeem("failed",t,{reason:this.error})}finally{this.pending=!1}}renderPrompt(){return s("div",{class:"s-gift-card-prompt"},s("div",{class:"s-gift-card-intro"},s("span",{class:"s-gift-card-mark"},s("i",{class:"sicon-gift","aria-hidden":"true"})),s("div",{class:"s-gift-card-copy"},s("p",{class:"s-gift-card-title"},this.t("gift_card_title")),s("p",{class:"s-gift-card-subtitle"},this.t("gift_card_subtitle")))),s("salla-button",{class:"s-gift-card-trigger",color:"primary",fill:"outline",onClick:this.start},s("span",null,this.addLabel)))}renderField(){return[s("label",{class:"s-gift-card-label",htmlFor:"gift_card_redeem_field"},this.tFirst(["pages.gift.code"])),s("input",{id:"gift_card_redeem_field",ref:t=>this.field=t,type:"text",maxlength:16,autocomplete:"off",class:"s-gift-card-input",value:this.code,disabled:this.pending,placeholder:this.t("gift_card_redeem_placeholder"),onInput:this.handleInput,onKeyUp:this.onKeyUp})]}renderSubmit(t=!1){return s("salla-button",{id:"gift_card_redeem_submit",color:"primary",width:t?"wide":"normal",loading:this.pending,"loader-position":"center",disabled:this.pending||!this.isValidCode,onClick:()=>this.redeem()},s("span",null,this.t("gift_card_redeem_confirm")))}renderInlineForm(){return s("div",{class:"s-gift-card-form"},s("div",{class:"s-gift-card-field"},this.renderField()),this.renderSubmit(),s("button",{type:"button",class:"s-gift-card-cancel",disabled:this.pending,onClick:this.cancel},this.t("gift_card_cancel")))}renderSheetForm(){return s("div",{class:"s-gift-card-sheet"},s("div",{class:"s-gift-card-field"},this.renderField()),this.renderSubmit(!0))}renderSuccess(){const t=this.formatMoney(this.result?.amount),i=this.expiryMonths(this.result?.expires_at),e=this.t("gift_card_success_title");return s("div",{class:"s-gift-card-result"},s("span",{class:"s-gift-card-result-mark s-gift-card-result-mark-success",innerHTML:'\n<svg viewBox="0 0 96 96" width="72" height="72" role="img" aria-hidden="true" xmlns="http://www.w3.org/2000/svg">\n \x3c!-- burst --\x3e\n <g fill="#F5C242">\n <path d="M48 8l3.2 7.6L59 18l-6.2 5.3L54 31l-6-4-6 4 1.2-7.7L37 18l7.8-2.4z"/>\n <path d="M71 26l1.9 4.4L77 32l-3.6 3 .7 4.5-4.1-2.3-4.1 2.3.7-4.5L63 32l4.1-1.6z"/>\n <path d="M25 26l1.9 4.4L31 32l-3.6 3 .7 4.5L24 37.2 19.9 39.5l.7-4.5L17 32l4.1-1.6z"/>\n </g>\n <g fill="#E4572E" opacity=".9">\n <circle cx="30" cy="18" r="2.4"/>\n <circle cx="66" cy="18" r="2.4"/>\n <circle cx="48" cy="44" r="2.2"/>\n </g>\n \x3c!-- lid --\x3e\n <rect x="20" y="46" width="56" height="12" rx="3" fill="#2E8B57"/>\n \x3c!-- box --\x3e\n <path d="M25 58h46v26a4 4 0 0 1-4 4H29a4 4 0 0 1-4-4z" fill="#3AA76D"/>\n \x3c!-- ribbon --\x3e\n <rect x="44" y="46" width="8" height="42" fill="#F5F7F6"/>\n <rect x="20" y="46" width="56" height="12" rx="3" fill="#2E8B57" opacity="0"/>\n <rect x="44" y="46" width="8" height="12" fill="#E9EFEB"/>\n</svg>\n'}),e&&s("h3",{class:"s-gift-card-result-title"},e),s("p",{class:"s-gift-card-result-text",innerHTML:i?this.tFirst(["pages.checkout.gift_card_success_body_expiring","pages.checkout.gift_card_success_body","pages.checkout.gift_card_redeem_success"],{amount:t,months:i}):this.tFirst(["pages.checkout.gift_card_success_body","pages.checkout.gift_card_redeem_success"],{amount:t})}),s("salla-button",{color:"primary",width:"wide",onClick:this.shopNow},s("span",null,this.tFirst(["pages.loyalty_program.shop_now"]))))}renderError(){return s("div",{class:"s-gift-card-result"},s("span",{class:"s-gift-card-result-mark s-gift-card-result-mark-error"},s("i",{class:"sicon-cancel","aria-hidden":"true"})),s("h3",{class:"s-gift-card-result-title"},this.tFirst(["pages.checkout.gift_card_failure_title","pages.checkout.gift_card_redeem_error"])),s("p",{class:"s-gift-card-result-text"},this.error))}render(){return this.canRedeem?s(e,{class:"s-gift-card"},s("div",{class:"s-gift-card-panel"},this.inlineForm&&this.isDesktop?this.renderInlineForm():this.renderPrompt()),s("salla-modal",{ref:t=>this.modal=t,class:"s-gift-card-modal",width:"sm",position:this.isDesktop?"middle":"bottom","modal-title":this.t("gift_card_redeem_label"),onModalVisibilityChanged:t=>{t.detail||(this.modalView=null)}},s("div",{class:"s-gift-card-modal-body"},"form"===this.modalView&&this.renderSheetForm(),"success"===this.modalView&&this.renderSuccess(),"error"===this.modalView&&this.renderError()))):null}};a.style='/*!twlt*/@charset "UTF-8";.s-gift-card{display:block;flex:1 1 auto;min-width:0}.s-gift-card-panel{height:100%;background:#fff;border-radius:12px;padding:20px;box-sizing:border-box}.s-gift-card-prompt{display:flex;flex-direction:column;align-items:stretch;gap:16px;height:100%}.s-gift-card-intro{display:flex;align-items:center;gap:12px}.s-gift-card-mark{flex:0 0 auto;width:48px;height:48px;border-radius:9999px;background:#fdecef;color:#e8637c;display:inline-flex;align-items:center;justify-content:center;font-size:22px}.s-gift-card-copy{min-width:0}.s-gift-card-title{margin:0;font-weight:700;font-size:15px;color:#1c1c1c}.s-gift-card-subtitle{margin:2px 0 0;font-size:12px;color:#9aa0a6}.s-gift-card-trigger{display:block}.s-gift-card-form{display:flex;align-items:flex-end;gap:12px}.s-gift-card-field{flex:1 1 auto;min-width:0}.s-gift-card-label{display:block;margin-bottom:6px;font-size:13px;font-weight:700;color:#1c1c1c}.s-gift-card-input{width:100%;height:44px;padding:0 14px;box-sizing:border-box;border:1px solid #e6e8eb;border-radius:8px;background:#fff;font-size:13px;color:#1c1c1c}.s-gift-card-input::placeholder{color:#b7bcc2}.s-gift-card-input:focus{outline:none;border-color:var(--color-primary, #2e8b57)}.s-gift-card-cancel{flex:0 0 auto;height:44px;padding:0 8px;border:0;background:none;color:#6b7280;font-size:13px;cursor:pointer}.s-gift-card-cancel:disabled{opacity:0.5;cursor:default}.s-gift-card-sheet{display:flex;flex-direction:column;gap:16px;padding-top:4px}.s-gift-card-result{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 8px 8px}.s-gift-card-result-mark{width:120px;height:120px;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:20px}.s-gift-card-result-mark-success{background:#eaf7f0}.s-gift-card-result-mark-error{background:#fdeaea;color:#fff;font-size:34px}.s-gift-card-result-mark-error i{width:72px;height:72px;border-radius:9999px;background:#ea4b4b;display:inline-flex;align-items:center;justify-content:center}.s-gift-card-result-title{margin:0 0 10px;font-size:19px;font-weight:700;color:#1c1c1c}.s-gift-card-result-text{margin:0 0 22px;font-size:13px;line-height:1.7;color:#6b7280}@media screen and (min-width: 768px){.s-gift-card-panel{padding:22px 24px;display:flex;align-items:center}.s-gift-card-prompt{flex-direction:row;align-items:center;justify-content:space-between;gap:24px;width:100%}.s-gift-card-trigger{flex:0 0 auto}.s-gift-card-form{width:100%}.s-gift-card-result{padding:8px 24px 16px}}.inline{display:inline}.contents{display:contents}.resize{resize:both}.uppercase{text-transform:uppercase}.outline{outline-style:solid}';const l=class{constructor(i){t(this,i),this.theme="default",this.show=!1,this.targetElement=null}handleMouseOver(t){this.targetElement&&this.targetElement.contains(t.target)&&(this.show=!0)}handleMouseOut(t){this.targetElement&&this.targetElement.contains(t.target)&&(this.show=!1)}componentDidLoad(){this.targetElement=document.getElementById(this.targetId)}render(){const t=["default","dark"].includes(this.theme)?this.theme:"default";return s("div",{key:"d689900a8fdad37c6396eb55d8140b48f3eda8b8",class:"s-tooltip-container"},s("div",{key:"0ae14c42d03c5f81ce4f19fa90b0260a21ac1c1e",class:`s-tooltip-item s-tooltip-item--${t}`,style:{display:this.show?"block":"none"}},this.text?s("span",null,this.text):s("slot",null)))}get el(){return r(this)}};l.style='/*!twlt*/.s-tooltip-container{position:relative;display:inline-block}.s-tooltip-item{position:absolute;transform:translateX(-63%) translateY(-50%);background-color:var(--color-primary);color:var(--color-primary-reverse);bottom:100%;left:50%;text-align:center;border-radius:5px;z-index:1;white-space:nowrap;transition:opacity 0.3s;pointer-events:none;margin:0 0 16px 8px;padding:12px;max-width:150px;width:190px;white-space:normal;opacity:1}.s-tooltip-item::after{content:"";position:absolute;bottom:-10px;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:var(--color-primary) transparent transparent transparent}.s-tooltip-item:dir(ltr){transform:translateX(-72%)}.s-tooltip-item--dark{background-color:#555555;color:white;padding:5px 15px;border-radius:8px;font-size:12px;font-weight:normal;max-width:330px;width:max-content}.s-tooltip-item--dark::after{border-color:#555555 transparent transparent transparent}.block{display:block}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}';export{a as salla_gift_card_redeem,l as salla_tooltip}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,h as s,a as o}from"./p-Bxge4xib.js";const e=class{constructor(s){t(this,s),this.resolveFn=null,this.rejectFn=null,this.optionsRefs=new Map,this.changeHandler=null,this.submitCallback=null,this._realOrderOptions=[],this._collectedFreeOptions=[],this._isWizard=!1,this._freeQueue=[],this._freeIndex=0,this._collectedFreeProducts=[],this._orderBasePrice=0,this._accumulatedExtra=0,this.orderOptions=[],this.basePrice=0,this.liveTotal=0,this.isSubmitting=!1,this.sessionId=0,this.paymentMode="default",this.freeProduct=null,this.inFreeStep=!1,this.title="",this.subtitle="",this.submitLabel="",this.totalLabel="",this.requiredMessage="",this.freeProductTitle="خيارات المنتج المجاني",this.freeProductSubtitle="اختر ما يناسبك من خيارات المنتج",this.freeProductContinueLabel="تابع واحصل على هديتك الان",this.handleClose=()=>{this.isSubmitting||(this.rejectFn?.({reason:"dismissed"}),this.resolveFn=null,this.rejectFn=null,this.detachChangeListener(),this.reset())},salla.lang.onLoaded((()=>this.loadTranslations()))}componentWillLoad(){this.loadTranslations()}isRtl(){return"rtl"===document?.documentElement?.getAttribute("dir")}t(t,s){const o=salla.lang.get(t);return o&&o!==t?o:s}loadTranslations(){this.title=salla.lang.get("blocks.order_options.title"),this.subtitle=salla.lang.get("blocks.order_options.subtitle"),this.submitLabel=salla.lang.get("blocks.order_options.continue"),this.totalLabel=salla.lang.get("blocks.order_options.total"),this.requiredMessage=salla.lang.get("blocks.order_options.required_message"),this.freeProductTitle=this.t("pages.products.free_product_options_title","خيارات المنتج المجاني"),this.freeProductSubtitle=this.t("pages.products.free_product_options_subtitle","اختر ما يناسبك من خيارات المنتج"),this.freeProductContinueLabel=this.t("pages.products.free_product_cta","تابع واحصل على هديتك الان")}async open(t){const s=t=>(Array.isArray(t)?t:[]).map((t=>({...t,details:t.details??[]}))),o=s(t.orderOptions),e=this.buildFreeQueue(t,s);return this._realOrderOptions=o,this._collectedFreeOptions=[],this._collectedFreeProducts=[],this._freeQueue=e,this._freeIndex=0,this._orderBasePrice=Number(t.basePrice)||0,this._accumulatedExtra=0,this._isWizard=e.length+(o.length>0?1:0)>1,this.isSubmitting=!1,this.optionsRefs.clear(),this.submitCallback=t.onSubmit??null,this.paymentMode=t.paymentMode??"default",e.length>0?this.loadFreeStep(0):(this.sessionId++,this.inFreeStep=!1,this.orderOptions=o,this.freeProduct=null,this.basePrice=Number(t.basePrice)||0,this.liveTotal=this.basePrice+this.seedOptionsPrice(this.orderOptions)),await(this.modal?.open()),this.modal?.setTitle(this.inFreeStep?this.freeProductTitle:this.title),this.attachChangeListener(),new Promise(((t,s)=>{this.resolveFn=t,this.rejectFn=s}))}buildFreeQueue(t,s){const o=[];if((Array.isArray(t.freeProducts)?t.freeProducts:[]).forEach((t=>{const e=s(t?.options);e.length&&o.push({product:t?.product?{...t.product,offer_name:t.offer_name??t.product.offer_name??null}:null,options:e,quantity:Number(t?.quantity)>0?Number(t.quantity):1})})),o.length)return o;const e=s(t.freeProductOptions);return e.length&&o.push({product:t.freeProduct??null,options:e,quantity:1}),o}loadFreeStep(t){const s=this._freeQueue[t];this._freeIndex=t,this.optionsRefs.clear(),this.inFreeStep=!0,this.orderOptions=s.options,this.freeProduct=s.product,this.basePrice=0,this.liveTotal=this.seedOptionsPrice(s.options),this.sessionId++}async close(){await(this.modal?.close())}collectOrderOptionsSync(){const t=[];for(const[,s]of this.optionsRefs)s&&s.querySelectorAll('[name^="options["],[name*="[options]["]').forEach((s=>{if(s instanceof HTMLInputElement&&("radio"===s.type||"checkbox"===s.type)&&!s.checked)return;const o=s.name.match(/(?:^|\[)options\]?\[(\d+)\]/);if(!o)return;const e=s.value;if(""===e||null==e)return;const i=Number(e);t.push({id:Number(o[1]),value:Number.isFinite(i)&&e===String(i)?i:e})}));return t}validateSync(){let t=!0;for(const[,s]of this.optionsRefs)s&&s.querySelectorAll("[required]").forEach((s=>{s.disabled||s.closest(".hidden")||"reportValidity"in s&&!s.reportValidity()&&(t=!1)}));return t}seedOptionsPrice(t){let s=0;return t.forEach((t=>{(t.details||[]).forEach((t=>{t.is_selected&&(s+=Number(t.total_price??t.additional_price)||0)}))})),s}attachChangeListener(){this.detachChangeListener(),this.changeHandler=()=>this.recomputeTotal(),salla.event.on("product-options::change",this.changeHandler)}detachChangeListener(){this.changeHandler&&(salla.event.off("product-options::change",this.changeHandler),this.changeHandler=null)}async recomputeTotal(){let t=0;for(const[,s]of this.optionsRefs)s&&(("function"==typeof s.getSelectedOptions?await s.getSelectedOptions():[])||[]).forEach((s=>{t+=Number(s.total_price??s.additional_price)||0}));this.liveTotal=this.basePrice+t}handleSubmit(){if(this.isSubmitting)return;if(!this.validateSync())return void salla.notify?.error?.(this.requiredMessage);if(this.inFreeStep){const t=this._freeQueue[this._freeIndex],s=this.collectOrderOptionsSync();if(0===this._freeIndex&&(this._collectedFreeOptions=s),s.length&&t?.product?.id){const o={};s.forEach((({id:t,value:s})=>{o[t]=s})),this._collectedFreeProducts.push({productId:t.product.id,quantity:t.quantity,options:o})}this._accumulatedExtra+=Math.max(0,this.liveTotal-this.basePrice);const o=this._freeIndex+1;return o<this._freeQueue.length?(this.loadFreeStep(o),void this.modal?.setTitle(this.freeProductTitle)):this._realOrderOptions.length?(this.optionsRefs.clear(),this.inFreeStep=!1,this.freeProduct=null,this.orderOptions=this._realOrderOptions,this.basePrice=this._orderBasePrice,this.liveTotal=this._orderBasePrice+this.seedOptionsPrice(this._realOrderOptions),this.sessionId++,void this.modal?.setTitle(this.title)):(this.isSubmitting=!0,this.liveTotal=this._orderBasePrice,this.fireSubmitCallback([]),this.resolveAndClose([]),void(this.isSubmitting=!1))}this.isSubmitting=!0;const t=this.collectOrderOptionsSync();this.fireSubmitCallback(t),this.resolveAndClose(t),this.isSubmitting=!1}finalTotal(){return Math.round(100*(this.liveTotal+this._accumulatedExtra))/100}fireSubmitCallback(t){try{this.submitCallback?.(t,this.finalTotal(),this._collectedFreeProducts)}catch(t){salla?.logger?.warn?.("order-options modal onSubmit threw",t)}}resolveAndClose(t){this.resolveFn?.({orderOptions:t,freeProductOptions:this._collectedFreeOptions,freeProducts:this._collectedFreeProducts}),this.resolveFn=null,this.rejectFn=null,this.submitCallback=null,this.detachChangeListener(),this.modal?.close().then((()=>this.reset()))}reset(){this.orderOptions=[],this.freeProduct=null,this.inFreeStep=!1,this.optionsRefs.clear(),this.liveTotal=0,this._realOrderOptions=[],this._collectedFreeOptions=[],this._collectedFreeProducts=[],this._freeQueue=[],this._freeIndex=0,this._isWizard=!1}render(){const t=salla.money(Math.round(100*this.liveTotal)/100),o=this.inFreeStep,e=o?String(this.freeProduct?.id||`free-prod-${this.orderOptions[0]?.id}`):`order-options-${this.orderOptions[0]?.id}`,i=o?`free-product-options-${this._freeIndex}`:"order-options",r=[...this._freeQueue.map((()=>this.freeProductTitle)),...this._realOrderOptions.length?[this.title]:[]],a=o?this._freeIndex:this._freeQueue.length,l=a===Math.max(0,r.length-1),d="apple-pay"===this.paymentMode&&l;return s("salla-modal",{key:"60e626bb49f8592c952182c182e6d73ddcaadeed",ref:t=>this.modal=t,class:"s-order-options-modal-host"+(this._isWizard?" s-oom-wizard-modal":""),width:"md","modal-title":this._isWizard?" ":o?this.freeProductTitle:this.title,onModalVisibilityChanged:t=>{t.detail||this.handleClose()}},this._isWizard&&s("div",{key:"a842b5d1566c8bb0bd68d5986fb092c14f8a01d6",slot:"icon",class:"s-oom-steps"},r.map(((t,o)=>[o>0&&s("div",{class:"s-oom-connector"}),s("div",{class:"s-oom-step "+(o===a?"active":o<a?"done":"")},s("span",{class:"s-oom-step-num"},o+1),s("span",{class:"s-oom-step-label"},t))]))),s("div",{key:"1f61a756dcf824bf4d8be71ccbd9a0c2742851d2",class:"s-order-options-modal-body"},o&&this.freeProduct&&s("div",{key:"667841475dff0deda06d8d04e0a2841f33ec54b6",class:"s-oom-free-product-card"},this.freeProduct.thumbnail&&s("img",{key:"129b99226216f0c1ca59fccbc0ba35d5af8cdee7",class:"s-oom-free-product-thumb",src:this.freeProduct.thumbnail,alt:this.freeProduct.name}),s("div",{key:"ae385e2d4fb967144743d67eadd50f31c23332ec",class:"s-oom-free-product-info"},s("span",{key:"4f48a3fd0af91435060a0d303a6d0f77f5afd1bc",class:"s-oom-free-product-name"},this.freeProduct.name),s("div",{key:"de62961aba2246c1d52d411461d6a45aed620eab",class:"s-oom-free-product-tags"},s("span",{key:"db1af48cc1a7583a7f2d026159ff01f03ad216bf",class:"s-oom-free-badge"},this.t("common.elements.free","مجاني")),this.freeProduct.offer_name&&s("span",{key:"ce595bccd755e908deb1c566758ca3629171962b",class:"s-oom-free-offer-name"},this.freeProduct.offer_name)))),s("p",{key:"161740bddbf25369392f362f9613f2e9c6a94fc1",class:"s-order-options-modal-subtitle"},o?this.freeProductSubtitle:this.subtitle),s("div",{key:"20d3f92f0f3782d599ec5ce923c2dad93f7c7608",class:"s-order-options-modal-fields"},this.orderOptions.length>0&&s("salla-product-options",{key:this.sessionId,ref:t=>{t&&(this.optionsRefs.set(i,t),t.seedSelectedOptions?.())},"product-id":e,"unique-key":i,options:JSON.stringify(this.orderOptions),"hide-out-label":"1","no-padding":!0}))),s("div",{key:"c80a0c1f1b32e5396483171196879bc43713c2f4",slot:"footer",class:"s-order-options-modal-footer"},d?s("div",{class:"s-order-options-modal-apple-pay-wrap"},s("div",{class:"s-order-options-modal-apple-pay-total"},s("span",{class:"s-order-options-modal-apple-pay-label"},this.totalLabel),s("span",{class:"s-order-options-modal-apple-pay-amount",innerHTML:t})),s("apple-pay-button",{locale:salla?.config?.get?.("user.language_code")||"ar",buttonstyle:"black",type:"buy",class:"s-order-options-modal-apple-pay",onClick:()=>this.handleSubmit()})):s("salla-button",{type:"button",color:"primary",fill:"solid",width:"wide",loading:this.isSubmitting,onClick:()=>this.handleSubmit()},s("span",{class:"s-order-options-modal-cta-content"},s("span",{class:"s-order-options-modal-cta-text"},o?this.freeProductContinueLabel:this.submitLabel),o?s("i",{class:{"s-oom-cta-arrow":!0,"sicon-arrow-left":this.isRtl(),"sicon-arrow-right":!this.isRtl()}}):s("span",{class:"s-order-options-modal-cta-total",innerHTML:t})))))}get host(){return o(this)}};e.style='/*!twlt*/@charset "UTF-8";.s-order-options-modal-host .s-modal-header-inner,.s-order-options-modal-host .s-modal-header-content,.s-order-options-modal-host .s-modal-title{text-align:start !important}.s-order-options-modal-host.s-oom-wizard-modal .s-modal-title{display:none}.s-order-options-modal-host.s-oom-wizard-modal .s-modal-header-inner{flex:1;min-width:0}.s-order-options-modal-host.s-oom-wizard-modal .s-modal-header-content{display:none}.s-oom-steps{display:flex;align-items:center;justify-content:flex-start;gap:0.5rem;width:100%;padding:0}.s-oom-step{display:inline-flex;align-items:center;gap:0.375rem;padding:0.375rem 0.75rem 0.375rem 0.625rem;border-radius:9999px;font-size:0.8125rem;font-weight:600;line-height:1;white-space:nowrap;color:#9ca3af;background:transparent;border:1.5px solid #e5e7eb;transition:background 0.2s, color 0.2s, border-color 0.2s}.s-oom-step.active{background:#1a2533;color:#ffffff;border-color:#1a2533}.s-oom-step.active .s-oom-step-num{background:rgba(255, 255, 255, 0.2);color:#ffffff}.s-oom-step.done{color:#6b7280;border-color:#d1d5db}.s-oom-step-num{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;font-size:0.6875rem;font-weight:700;background:#e5e7eb;color:#6b7280;flex-shrink:0}.s-oom-step-label{font-size:0.8125rem}.s-oom-connector{flex:1;max-width:3rem;height:0;border-top:1.5px dashed #d1d5db}.s-oom-free-product-card{display:flex;align-items:center;gap:0.75rem;padding:0.75rem 1rem;margin-bottom:1rem;border:1px solid #e5e7eb;border-radius:0.75rem;background:#f9fafb;}.s-oom-free-product-info{display:flex;flex-direction:column;gap:0.25rem;min-width:0;flex:1}.s-oom-free-product-tags{display:flex;flex-wrap:wrap;align-items:center;gap:0.375rem}.s-oom-free-product-name{font-size:0.9375rem;font-weight:700;color:#111827;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-oom-free-badge{display:inline-block;padding:0.125rem 0.5rem;border-radius:9999px;font-size:0.6875rem;font-weight:600;color:#059669;background:#d1fae5;align-self:flex-start}.s-oom-free-offer-name{display:inline-block;padding:0.125rem 0.5rem;border-radius:9999px;font-size:0.6875rem;font-weight:500;color:#6b7280;background:#f3f4f6;align-self:flex-start}.s-oom-free-product-thumb{width:3.5rem;height:3.5rem;object-fit:cover;border-radius:0.5rem;flex-shrink:0;border:1px solid #e5e7eb}.s-order-options-modal-body{padding-top:0.25rem;max-height:60vh;overflow-y:auto;overscroll-behavior:contain}.s-order-options-modal-subtitle{font-size:0.875rem;color:#6b7280;margin-bottom:1rem;text-align:start}.s-order-options-modal-cta-content{display:flex;align-items:center;justify-content:center;gap:0.5rem;width:100%}.s-order-options-modal-cta-text{flex:1;text-align:center}.s-order-options-modal-apple-pay{display:block;width:100%;--apple-pay-button-width:100%;--apple-pay-button-height:44px;--apple-pay-button-border-radius:0.75rem}.s-order-options-modal-apple-pay-wrap{display:flex;flex-direction:column;gap:0.75rem;width:100%}.s-order-options-modal-apple-pay-total{display:flex;align-items:center;justify-content:space-between;gap:0.5rem}.s-order-options-modal-apple-pay-label,.s-order-options-modal-apple-pay-amount{font-size:1.125rem;line-height:1.5rem;font-weight:700;color:#111827}.s-oom-cta-arrow{font-size:0.875rem;flex-shrink:0}.static{position:static}.hidden{display:none}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-order-options-modal-body{display:block;max-height:60vh;overflow-y:auto;overscroll-behavior:contain}.s-order-options-modal-subtitle{margin-bottom:1rem;font-size:0.875rem;line-height:1.5rem;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-order-options-modal-fields{display:flex;flex-direction:column;gap:1rem}.s-order-options-modal-item{display:block}.s-order-options-modal-footer{display:flex;width:100%;align-items:center}.s-order-options-modal-cta-content{display:flex;align-items:center;gap:0.25rem}.s-order-options-modal-cta-text{font-weight:700}.s-order-options-modal-cta-total{font-weight:700}';export{e as salla_order_options_modal}
|
|
4
|
+
import{r as t,h as s,a as o}from"./p-C1mBhG6Z.js";const e=class{constructor(s){t(this,s),this.resolveFn=null,this.rejectFn=null,this.optionsRefs=new Map,this.changeHandler=null,this.submitCallback=null,this._realOrderOptions=[],this._collectedFreeOptions=[],this._isWizard=!1,this._freeQueue=[],this._freeIndex=0,this._collectedFreeProducts=[],this._orderBasePrice=0,this._accumulatedExtra=0,this.orderOptions=[],this.basePrice=0,this.liveTotal=0,this.isSubmitting=!1,this.sessionId=0,this.paymentMode="default",this.freeProduct=null,this.inFreeStep=!1,this.title="",this.subtitle="",this.submitLabel="",this.totalLabel="",this.requiredMessage="",this.freeProductTitle="خيارات المنتج المجاني",this.freeProductSubtitle="اختر ما يناسبك من خيارات المنتج",this.freeProductContinueLabel="تابع واحصل على هديتك الان",this.handleClose=()=>{this.isSubmitting||(this.rejectFn?.({reason:"dismissed"}),this.resolveFn=null,this.rejectFn=null,this.detachChangeListener(),this.reset())},salla.lang.onLoaded((()=>this.loadTranslations()))}componentWillLoad(){this.loadTranslations()}isRtl(){return"rtl"===document?.documentElement?.getAttribute("dir")}t(t,s){const o=salla.lang.get(t);return o&&o!==t?o:s}loadTranslations(){this.title=salla.lang.get("blocks.order_options.title"),this.subtitle=salla.lang.get("blocks.order_options.subtitle"),this.submitLabel=salla.lang.get("blocks.order_options.continue"),this.totalLabel=salla.lang.get("blocks.order_options.total"),this.requiredMessage=salla.lang.get("blocks.order_options.required_message"),this.freeProductTitle=this.t("pages.products.free_product_options_title","خيارات المنتج المجاني"),this.freeProductSubtitle=this.t("pages.products.free_product_options_subtitle","اختر ما يناسبك من خيارات المنتج"),this.freeProductContinueLabel=this.t("pages.products.free_product_cta","تابع واحصل على هديتك الان")}async open(t){const s=t=>(Array.isArray(t)?t:[]).map((t=>({...t,details:t.details??[]}))),o=s(t.orderOptions),e=this.buildFreeQueue(t,s);return this._realOrderOptions=o,this._collectedFreeOptions=[],this._collectedFreeProducts=[],this._freeQueue=e,this._freeIndex=0,this._orderBasePrice=Number(t.basePrice)||0,this._accumulatedExtra=0,this._isWizard=e.length+(o.length>0?1:0)>1,this.isSubmitting=!1,this.optionsRefs.clear(),this.submitCallback=t.onSubmit??null,this.paymentMode=t.paymentMode??"default",e.length>0?this.loadFreeStep(0):(this.sessionId++,this.inFreeStep=!1,this.orderOptions=o,this.freeProduct=null,this.basePrice=Number(t.basePrice)||0,this.liveTotal=this.basePrice+this.seedOptionsPrice(this.orderOptions)),await(this.modal?.open()),this.modal?.setTitle(this.inFreeStep?this.freeProductTitle:this.title),this.attachChangeListener(),new Promise(((t,s)=>{this.resolveFn=t,this.rejectFn=s}))}buildFreeQueue(t,s){const o=[];if((Array.isArray(t.freeProducts)?t.freeProducts:[]).forEach((t=>{const e=s(t?.options);e.length&&o.push({product:t?.product?{...t.product,offer_name:t.offer_name??t.product.offer_name??null}:null,options:e,quantity:Number(t?.quantity)>0?Number(t.quantity):1})})),o.length)return o;const e=s(t.freeProductOptions);return e.length&&o.push({product:t.freeProduct??null,options:e,quantity:1}),o}loadFreeStep(t){const s=this._freeQueue[t];this._freeIndex=t,this.optionsRefs.clear(),this.inFreeStep=!0,this.orderOptions=s.options,this.freeProduct=s.product,this.basePrice=0,this.liveTotal=this.seedOptionsPrice(s.options),this.sessionId++}async close(){await(this.modal?.close())}collectOrderOptionsSync(){const t=[];for(const[,s]of this.optionsRefs)s&&s.querySelectorAll('[name^="options["],[name*="[options]["]').forEach((s=>{if(s instanceof HTMLInputElement&&("radio"===s.type||"checkbox"===s.type)&&!s.checked)return;const o=s.name.match(/(?:^|\[)options\]?\[(\d+)\]/);if(!o)return;const e=s.value;if(""===e||null==e)return;const i=Number(e);t.push({id:Number(o[1]),value:Number.isFinite(i)&&e===String(i)?i:e})}));return t}validateSync(){let t=!0;for(const[,s]of this.optionsRefs)s&&s.querySelectorAll("[required]").forEach((s=>{s.disabled||s.closest(".hidden")||"reportValidity"in s&&!s.reportValidity()&&(t=!1)}));return t}seedOptionsPrice(t){let s=0;return t.forEach((t=>{(t.details||[]).forEach((t=>{t.is_selected&&(s+=Number(t.total_price??t.additional_price)||0)}))})),s}attachChangeListener(){this.detachChangeListener(),this.changeHandler=()=>this.recomputeTotal(),salla.event.on("product-options::change",this.changeHandler)}detachChangeListener(){this.changeHandler&&(salla.event.off("product-options::change",this.changeHandler),this.changeHandler=null)}async recomputeTotal(){let t=0;for(const[,s]of this.optionsRefs)s&&(("function"==typeof s.getSelectedOptions?await s.getSelectedOptions():[])||[]).forEach((s=>{t+=Number(s.total_price??s.additional_price)||0}));this.liveTotal=this.basePrice+t}handleSubmit(){if(this.isSubmitting)return;if(!this.validateSync())return void salla.notify?.error?.(this.requiredMessage);if(this.inFreeStep){const t=this._freeQueue[this._freeIndex],s=this.collectOrderOptionsSync();if(0===this._freeIndex&&(this._collectedFreeOptions=s),s.length&&t?.product?.id){const o={};s.forEach((({id:t,value:s})=>{o[t]=s})),this._collectedFreeProducts.push({productId:t.product.id,quantity:t.quantity,options:o})}this._accumulatedExtra+=Math.max(0,this.liveTotal-this.basePrice);const o=this._freeIndex+1;return o<this._freeQueue.length?(this.loadFreeStep(o),void this.modal?.setTitle(this.freeProductTitle)):this._realOrderOptions.length?(this.optionsRefs.clear(),this.inFreeStep=!1,this.freeProduct=null,this.orderOptions=this._realOrderOptions,this.basePrice=this._orderBasePrice,this.liveTotal=this._orderBasePrice+this.seedOptionsPrice(this._realOrderOptions),this.sessionId++,void this.modal?.setTitle(this.title)):(this.isSubmitting=!0,this.liveTotal=this._orderBasePrice,this.fireSubmitCallback([]),this.resolveAndClose([]),void(this.isSubmitting=!1))}this.isSubmitting=!0;const t=this.collectOrderOptionsSync();this.fireSubmitCallback(t),this.resolveAndClose(t),this.isSubmitting=!1}finalTotal(){return Math.round(100*(this.liveTotal+this._accumulatedExtra))/100}fireSubmitCallback(t){try{this.submitCallback?.(t,this.finalTotal(),this._collectedFreeProducts)}catch(t){salla?.logger?.warn?.("order-options modal onSubmit threw",t)}}resolveAndClose(t){this.resolveFn?.({orderOptions:t,freeProductOptions:this._collectedFreeOptions,freeProducts:this._collectedFreeProducts}),this.resolveFn=null,this.rejectFn=null,this.submitCallback=null,this.detachChangeListener(),this.modal?.close().then((()=>this.reset()))}reset(){this.orderOptions=[],this.freeProduct=null,this.inFreeStep=!1,this.optionsRefs.clear(),this.liveTotal=0,this._realOrderOptions=[],this._collectedFreeOptions=[],this._collectedFreeProducts=[],this._freeQueue=[],this._freeIndex=0,this._isWizard=!1}render(){const t=salla.money(Math.round(100*this.liveTotal)/100),o=this.inFreeStep,e=o?String(this.freeProduct?.id||`free-prod-${this.orderOptions[0]?.id}`):`order-options-${this.orderOptions[0]?.id}`,i=o?`free-product-options-${this._freeIndex}`:"order-options",r=[...this._freeQueue.map((()=>this.freeProductTitle)),...this._realOrderOptions.length?[this.title]:[]],a=o?this._freeIndex:this._freeQueue.length,l=a===Math.max(0,r.length-1),d="apple-pay"===this.paymentMode&&l;return s("salla-modal",{key:"60e626bb49f8592c952182c182e6d73ddcaadeed",ref:t=>this.modal=t,class:"s-order-options-modal-host"+(this._isWizard?" s-oom-wizard-modal":""),width:"md","modal-title":this._isWizard?" ":o?this.freeProductTitle:this.title,onModalVisibilityChanged:t=>{t.detail||this.handleClose()}},this._isWizard&&s("div",{key:"a842b5d1566c8bb0bd68d5986fb092c14f8a01d6",slot:"icon",class:"s-oom-steps"},r.map(((t,o)=>[o>0&&s("div",{class:"s-oom-connector"}),s("div",{class:"s-oom-step "+(o===a?"active":o<a?"done":"")},s("span",{class:"s-oom-step-num"},o+1),s("span",{class:"s-oom-step-label"},t))]))),s("div",{key:"1f61a756dcf824bf4d8be71ccbd9a0c2742851d2",class:"s-order-options-modal-body"},o&&this.freeProduct&&s("div",{key:"667841475dff0deda06d8d04e0a2841f33ec54b6",class:"s-oom-free-product-card"},this.freeProduct.thumbnail&&s("img",{key:"129b99226216f0c1ca59fccbc0ba35d5af8cdee7",class:"s-oom-free-product-thumb",src:this.freeProduct.thumbnail,alt:this.freeProduct.name}),s("div",{key:"ae385e2d4fb967144743d67eadd50f31c23332ec",class:"s-oom-free-product-info"},s("span",{key:"4f48a3fd0af91435060a0d303a6d0f77f5afd1bc",class:"s-oom-free-product-name"},this.freeProduct.name),s("div",{key:"de62961aba2246c1d52d411461d6a45aed620eab",class:"s-oom-free-product-tags"},s("span",{key:"db1af48cc1a7583a7f2d026159ff01f03ad216bf",class:"s-oom-free-badge"},this.t("common.elements.free","مجاني")),this.freeProduct.offer_name&&s("span",{key:"ce595bccd755e908deb1c566758ca3629171962b",class:"s-oom-free-offer-name"},this.freeProduct.offer_name)))),s("p",{key:"161740bddbf25369392f362f9613f2e9c6a94fc1",class:"s-order-options-modal-subtitle"},o?this.freeProductSubtitle:this.subtitle),s("div",{key:"20d3f92f0f3782d599ec5ce923c2dad93f7c7608",class:"s-order-options-modal-fields"},this.orderOptions.length>0&&s("salla-product-options",{key:this.sessionId,ref:t=>{t&&(this.optionsRefs.set(i,t),t.seedSelectedOptions?.())},"product-id":e,"unique-key":i,options:JSON.stringify(this.orderOptions),"hide-out-label":"1","no-padding":!0}))),s("div",{key:"c80a0c1f1b32e5396483171196879bc43713c2f4",slot:"footer",class:"s-order-options-modal-footer"},d?s("div",{class:"s-order-options-modal-apple-pay-wrap"},s("div",{class:"s-order-options-modal-apple-pay-total"},s("span",{class:"s-order-options-modal-apple-pay-label"},this.totalLabel),s("span",{class:"s-order-options-modal-apple-pay-amount",innerHTML:t})),s("apple-pay-button",{locale:salla?.config?.get?.("user.language_code")||"ar",buttonstyle:"black",type:"buy",class:"s-order-options-modal-apple-pay",onClick:()=>this.handleSubmit()})):s("salla-button",{type:"button",color:"primary",fill:"solid",width:"wide",loading:this.isSubmitting,onClick:()=>this.handleSubmit()},s("span",{class:"s-order-options-modal-cta-content"},s("span",{class:"s-order-options-modal-cta-text"},o?this.freeProductContinueLabel:this.submitLabel),o?s("i",{class:{"s-oom-cta-arrow":!0,"sicon-arrow-left":this.isRtl(),"sicon-arrow-right":!this.isRtl()}}):s("span",{class:"s-order-options-modal-cta-total",innerHTML:t})))))}get host(){return o(this)}};e.style='/*!twlt*/@charset "UTF-8";.s-order-options-modal-host .s-modal-header-inner,.s-order-options-modal-host .s-modal-header-content,.s-order-options-modal-host .s-modal-title{text-align:start !important}.s-order-options-modal-host.s-oom-wizard-modal .s-modal-title{display:none}.s-order-options-modal-host.s-oom-wizard-modal .s-modal-header-inner{flex:1;min-width:0}.s-order-options-modal-host.s-oom-wizard-modal .s-modal-header-content{display:none}.s-oom-steps{display:flex;align-items:center;justify-content:flex-start;gap:0.5rem;width:100%;padding:0}.s-oom-step{display:inline-flex;align-items:center;gap:0.375rem;padding:0.375rem 0.75rem 0.375rem 0.625rem;border-radius:9999px;font-size:0.8125rem;font-weight:600;line-height:1;white-space:nowrap;color:#9ca3af;background:transparent;border:1.5px solid #e5e7eb;transition:background 0.2s, color 0.2s, border-color 0.2s}.s-oom-step.active{background:#1a2533;color:#ffffff;border-color:#1a2533}.s-oom-step.active .s-oom-step-num{background:rgba(255, 255, 255, 0.2);color:#ffffff}.s-oom-step.done{color:#6b7280;border-color:#d1d5db}.s-oom-step-num{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;font-size:0.6875rem;font-weight:700;background:#e5e7eb;color:#6b7280;flex-shrink:0}.s-oom-step-label{font-size:0.8125rem}.s-oom-connector{flex:1;max-width:3rem;height:0;border-top:1.5px dashed #d1d5db}.s-oom-free-product-card{display:flex;align-items:center;gap:0.75rem;padding:0.75rem 1rem;margin-bottom:1rem;border:1px solid #e5e7eb;border-radius:0.75rem;background:#f9fafb;}.s-oom-free-product-info{display:flex;flex-direction:column;gap:0.25rem;min-width:0;flex:1}.s-oom-free-product-tags{display:flex;flex-wrap:wrap;align-items:center;gap:0.375rem}.s-oom-free-product-name{font-size:0.9375rem;font-weight:700;color:#111827;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-oom-free-badge{display:inline-block;padding:0.125rem 0.5rem;border-radius:9999px;font-size:0.6875rem;font-weight:600;color:#059669;background:#d1fae5;align-self:flex-start}.s-oom-free-offer-name{display:inline-block;padding:0.125rem 0.5rem;border-radius:9999px;font-size:0.6875rem;font-weight:500;color:#6b7280;background:#f3f4f6;align-self:flex-start}.s-oom-free-product-thumb{width:3.5rem;height:3.5rem;object-fit:cover;border-radius:0.5rem;flex-shrink:0;border:1px solid #e5e7eb}.s-order-options-modal-body{padding-top:0.25rem;max-height:60vh;overflow-y:auto;overscroll-behavior:contain}.s-order-options-modal-subtitle{font-size:0.875rem;color:#6b7280;margin-bottom:1rem;text-align:start}.s-order-options-modal-cta-content{display:flex;align-items:center;justify-content:center;gap:0.5rem;width:100%}.s-order-options-modal-cta-text{flex:1;text-align:center}.s-order-options-modal-apple-pay{display:block;width:100%;--apple-pay-button-width:100%;--apple-pay-button-height:44px;--apple-pay-button-border-radius:0.75rem}.s-order-options-modal-apple-pay-wrap{display:flex;flex-direction:column;gap:0.75rem;width:100%}.s-order-options-modal-apple-pay-total{display:flex;align-items:center;justify-content:space-between;gap:0.5rem}.s-order-options-modal-apple-pay-label,.s-order-options-modal-apple-pay-amount{font-size:1.125rem;line-height:1.5rem;font-weight:700;color:#111827}.s-oom-cta-arrow{font-size:0.875rem;flex-shrink:0}.static{position:static}.hidden{display:none}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-order-options-modal-body{display:block;max-height:60vh;overflow-y:auto;overscroll-behavior:contain}.s-order-options-modal-subtitle{margin-bottom:1rem;font-size:0.875rem;line-height:1.5rem;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-order-options-modal-fields{display:flex;flex-direction:column;gap:1rem}.s-order-options-modal-item{display:block}.s-order-options-modal-footer{display:flex;width:100%;align-items:center}.s-order-options-modal-cta-content{display:flex;align-items:center;gap:0.25rem}.s-order-options-modal-cta-text{font-weight:700}.s-order-options-modal-cta-total{font-weight:700}';export{e as salla_order_options_modal}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as e,h as t,H as r}from"./p-Bxge4xib.js";var i;!function(e){e.PERCENTAGE="percentage",e.FIXED="fixed"}(i||(i={}));const o={staticIcons:['<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="40" height="40" color="#000000" fill="none">\n <path d="M13.7276 3.44418L15.4874 6.99288C15.7274 7.48687 16.3673 7.9607 16.9073 8.05143L20.0969 8.58575C22.1367 8.92853 22.6167 10.4206 21.1468 11.8925L18.6671 14.3927C18.2471 14.8161 18.0172 15.6327 18.1471 16.2175L18.8571 19.3125C19.417 21.7623 18.1271 22.71 15.9774 21.4296L12.9877 19.6452C12.4478 19.3226 11.5579 19.3226 11.0079 19.6452L8.01827 21.4296C5.8785 22.71 4.57865 21.7522 5.13859 19.3125L5.84851 16.2175C5.97849 15.6327 5.74852 14.8161 5.32856 14.3927L2.84884 11.8925C1.389 10.4206 1.85895 8.92853 3.89872 8.58575L7.08837 8.05143C7.61831 7.9607 8.25824 7.48687 8.49821 6.99288L10.258 3.44418C11.2179 1.51861 12.7777 1.51861 13.7276 3.44418Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>\n</svg>','<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" color="#000000" fill="none">\n <path d="M3 12C7.5 12 12 7.5 12 3C12 7.5 16.5 12 21 12C16.5 12 12 16.5 12 21C12 16.5 7.5 12 3 12Z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path>\n <path d="M2 19.5C2.83333 19.5 4.5 17.8333 4.5 17C4.5 17.8333 6.16667 19.5 7 19.5C6.16667 19.5 4.5 21.1667 4.5 22C4.5 21.1667 2.83333 19.5 2 19.5Z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path>\n <path d="M16 5C17 5 19 3 19 2C19 3 21 5 22 5C21 5 19 7 19 8C19 7 17 5 16 5Z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path>\n</svg>','<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="40" height="40" color="#000000" fill="none">\n <path d="M14.2644 18.3717C14.5806 17.407 14.7387 16.9247 15.0616 16.593C15.215 16.4354 15.3932 16.3048 15.5887 16.2066C16.0003 16 16.5003 16 17.5002 16C18.5001 16 19.0001 16 19.4116 16.2066C19.6072 16.3048 19.7853 16.4354 19.9388 16.593C20.2617 16.9247 20.4198 17.407 20.736 18.3717L21.0624 19.3675C21.4561 20.5688 21.653 21.1694 21.3587 21.5847C21.0643 22 20.4418 22 19.1966 22H15.8038C14.5586 22 13.936 22 13.6417 21.5847C13.3473 21.1694 13.5442 20.5688 13.938 19.3675L14.2644 18.3717Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M8.76421 10.3717C9.08041 9.40705 9.23851 8.92471 9.56143 8.59298C9.71485 8.43537 9.89299 8.3048 10.0885 8.20663C10.5001 8 11.0001 8 12 8C12.9999 8 13.4999 8 13.9115 8.20663C14.107 8.3048 14.2851 8.43537 14.4386 8.59298C14.7615 8.92471 14.9196 9.40705 15.2358 10.3717L15.5622 11.3675C15.956 12.5688 16.1528 13.1694 15.8585 13.5847C15.5642 14 14.9416 14 13.6964 14H10.3036C9.05842 14 8.43585 14 8.1415 13.5847C7.84716 13.1694 8.04404 12.5688 8.43779 11.3675L8.76421 10.3717Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M3.26439 18.3717C3.58059 17.407 3.73869 16.9247 4.06162 16.593C4.21504 16.4354 4.39317 16.3048 4.58872 16.2066C5.00031 16 5.50027 16 6.50018 16C7.5001 16 8.00006 16 8.41165 16.2066C8.6072 16.3048 8.78533 16.4354 8.93875 16.593C9.26167 16.9247 9.41977 17.407 9.73597 18.3717L10.0624 19.3675C10.4561 20.5688 10.653 21.1694 10.3587 21.5847C10.0643 22 9.44176 22 8.19661 22H4.80375C3.5586 22 2.93603 22 2.64169 21.5847C2.34735 21.1694 2.54422 20.5688 2.93797 19.3675L3.26439 18.3717Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M12 2V4M7.5 3.5L9 5M16.5 3.5L15 5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path>\n</svg>','<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" color="#000000" fill="none">\n <path d="M5.78223 4.18192C6.43007 3.68319 6.754 3.43383 7.12788 3.27323C7.29741 3.20041 7.47367 3.14158 7.65459 3.09741C8.0536 3 8.4767 3 9.32289 3H14.6771C15.5233 3 15.9464 3 16.3454 3.09741C16.5263 3.14158 16.7026 3.20041 16.8721 3.27323C17.246 3.43383 17.5699 3.68319 18.2178 4.18192C20.3644 5.83448 21.4378 6.66077 21.8057 7.73078C21.9694 8.20673 22.0305 8.70728 21.9858 9.20461C21.8852 10.3227 21.0379 11.346 19.3433 13.3925L15.3498 18.2153C13.8126 20.0718 13.044 21 12 21C10.956 21 10.1874 20.0718 8.65018 18.2153L4.65671 13.3925C2.96208 11.346 2.11476 10.3227 2.0142 9.20461C1.96947 8.70728 2.03064 8.20673 2.1943 7.73078C2.56224 6.66077 3.63557 5.83448 5.78223 4.18192Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M10 8.5H14" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>\n</svg>'],staticColors:["#993018","#444444","#D18F36","#315F9C"]};class s{static findTierByIndex(e,t){return e.find((e=>e.index===t))||null}static findTierByName(e,t){return e.find((e=>e.tier_name===t))||null}static getTierNameByIndex(e,t){return this.findTierByIndex(e,t)?.tier_name}static findCurrentTierIndex(e,t){if(!t)return 0;for(let r=t.length-1;r>=0;r--)if(e>=t[r].threshold)return t[r].index;return 0}}const n=class{constructor(t){e(this,t),this.currentTierIndex=0,this.canRender=!1,this.isLoading=!1,this.handleTabClick=e=>{this.activeTabTier=e},salla.lang.onLoaded((()=>{this.loyaltyProgramText=salla.lang.get("blocks.tiered_offer.program_title"),this.currentTierText=salla.lang.get("blocks.tiered_offer.current_tier"),this.discountText=salla.lang.get("blocks.tiered_offer.discount"),this.benefitText=salla.lang.get("blocks.tiered_offer.tier_description")}))}async componentWillLoad(){try{if(await salla.onReady(),!this.checkFeatureEnabled())return;if(!this.checkCartExists())return;this.isLoading=!0;const e=await this.fetchTieredOfferData();if(!e)return;this.initializeComponent(e)}catch(e){this.canRender=!1,salla.logger.warn("salla-tiered-offer:: ",e)}finally{this.isLoading=!1}}checkFeatureEnabled(){return salla.config.get("store.features")?.includes("tiered-offer")}checkCartExists(){return!!salla.storage.get("cart")?.summary?.count}validateCouponCompatibility(e,t){return!(t&&!e.details?.applied_with_coupon)}shouldHideForGuest(){return salla.config.isGuest()}shouldHideUntilThreshold(e,t){return!(!e?.hide_until_threshold||0!==t)}resolveTierName(e,t){return s.getTierNameByIndex(e,t)||""}async fetchTieredOfferData(){try{const{data:e}=await salla.api.cart.offers(),t=e.find((e=>"tiered_offer"===e.type));return t?this.validateCouponCompatibility(t,salla.storage.get("cart")?.coupon)?t:(this.canRender=!1,null):null}catch(e){throw e}}initializeComponent(e){this.apiOfferData=e,this.tieredOfferData=this.mapApiDataToTiers(this.apiOfferData),this.loyaltyProgramText=this.apiOfferData.title||this.loyaltyProgramText;const t=this.findCurrentTierIndex(this.apiOfferData.details?.current_value||0);this.shouldHideForGuest()||this.shouldHideUntilThreshold(this.apiOfferData.details,t)?this.canRender=!1:(this.currentTierIndex=t,this.currentTier=this.resolveTierName(this.tieredOfferData.tiers,t),this.activeTabTier=this.currentTier||this.tieredOfferData.tiers[0]?.tier_name,this.canRender=!0)}componentDidLoad(){salla.event.on("cart::updated",(async e=>{let t=null;try{t=await this.fetchTieredOfferData()}catch(e){return void salla.logger.warn("salla-tiered-offer:: ",e)}t&&(this.tieredOfferData?this.updateOfferValues(e,t):this.initializeComponent(t))}))}mapApiDataToTiers(e){const t=[...e.details.discounts].sort(((e,t)=>e.min_spend-t.min_spend)).map(((e,t)=>({name:e.name,tier_name:e.name,discount:e.type===i.PERCENTAGE?`${salla.helpers.number(e.value)}%`:salla.money(e.value),icon:o.staticIcons[t]||o.staticIcons[0],threshold:e.min_spend,text_color:o.staticColors[t],index:t+1})));return{current_tier:s.getTierNameByIndex(t,this.findCurrentTierIndex(e.details.current_value,t)),tiers:t}}findCurrentTierIndex(e,t=this.tieredOfferData?.tiers){return s.findCurrentTierIndex(e,t||[])}updateOfferValues(e,t){if(!t||!this.tieredOfferData)return;if(!t.details?.discounts?.length)return void(this.canRender=!1);if(!this.validateCouponCompatibility(t,e.coupon))return void(this.canRender=!1);if(this.shouldHideForGuest())return void(this.canRender=!1);const r=this.mapApiDataToTiers(t),i=this.findCurrentTierIndex(t.details?.current_value||0,r.tiers);if(this.shouldHideUntilThreshold(t.details,i))return void(this.canRender=!1);if(!1===t.details?.with_current_cart)return void(this.canRender=!0);this.apiOfferData=t,this.tieredOfferData=r,this.canRender=!0,this.currentTierIndex=i,this.currentTier=this.resolveTierName(r.tiers,i);const o=this.currentTier||r.tiers[0]?.tier_name;this.activeTabTier!==o&&(this.activeTabTier=o)}getLoadingSkeletonView(){return t(r,null,t("div",{class:"s-tiered-offer-container"},t("div",{class:"s-tiered-offer-skeleton-wrapper"},t("div",{class:"s-tiered-offer-skeleton-title"},t("salla-skeleton",{height:"16px",width:"40%"})),t("div",{class:"s-tiered-offer-skeleton-subtitle"},t("salla-skeleton",{height:"20px",width:"60%"})),t("div",{class:"s-tiered-offer-skeleton-progress"},t("salla-skeleton",{height:"16px",width:"100%"})),t("div",{class:"s-tiered-offer-skeleton-tabs"},t("salla-skeleton",{height:"50px",width:"100%"})))))}getCurrentTierData(){return s.findTierByIndex(this.tieredOfferData.tiers,this.currentTierIndex)||this.tieredOfferData.tiers[0]}getProgressWidth(){const e=this.tieredOfferData.tiers.length;return this.findCurrentTierIndex(this.apiOfferData.details?.current_value||0)/e*100}calculateMilestonePosition(e,t){return 1===t?"calc(100% - 18px)":`${Math.max(2,Math.min(95,(e+1)/t*100-8/t))}%`}getMilestoneStyles(e,t,r){const i="rtl"===document.documentElement.dir,o=this.calculateMilestonePosition(t,r),s=e.name.length>6?"flex-end":"center";return{[i?"right":"left"]:o,alignItems:s,position:"absolute",transform:i?"translateX(50%)":"translateX(-50%)"}}getMilestoneIconStyles(e,t,r){return t?{color:e.text_color}:r?{color:"var(--color-primary)"}:{}}renderProgressBarBackground(e){return[t("div",{class:"s-tiered-offer-progress-bg"}),t("div",{class:"s-tiered-offer-progress-fill",style:{width:`${e}%`}})]}renderMilestoneIcon(e,r,i){const o=["s-tiered-offer-milestone-icon",r?"s-tiered-offer-milestone-active":"",i?"s-tiered-offer-milestone-completed":""].filter(Boolean).join(" ");return t("div",{class:o,style:this.getMilestoneIconStyles(e,r,i)},t("span",{innerHTML:e.icon}))}renderMilestoneName(e,r){return t("div",{class:"s-tiered-offer-milestone-name"},r&&t("span",{style:{color:e.text_color}},e.name))}renderMilestones(e,r){return t("div",{class:"s-tiered-offer-milestones-wrapper"},t("div",{class:1===r?"s-tiered-offer-single-milestone-justify-end":"s-tiered-offer-milestones"},this.tieredOfferData.tiers.map(((i,o)=>{const s=e>=i.threshold,n=i.tier_name===this.currentTier;return t("div",{class:"s-tiered-offer-milestone",style:this.getMilestoneStyles(i,o,r)},this.renderMilestoneIcon(i,n,s),this.renderMilestoneName(i,n))}))))}renderProgressBar(){const e=this.getProgressWidth(),r=this.tieredOfferData.tiers.length,i=this.apiOfferData.details?.current_value||0;return t("div",{class:"s-tiered-offer-progress-container"},t("div",{class:"s-tiered-offer-progress-wrapper"},this.renderProgressBarBackground(e),this.renderMilestones(i,r)))}renderTabs(){return t("div",{class:"s-tiered-offer-tabs-container"},t("div",{class:"s-tiered-offer-tab-headers"},this.tieredOfferData.tiers.map((e=>t("button",{class:"s-tiered-offer-tab-header "+(e.tier_name===this.activeTabTier?"s-tiered-offer-tab-active":""),onClick:()=>this.handleTabClick(e.tier_name)},t("span",null,e.name))))),t("div",{class:"s-tiered-offer-tab-content-wrapper"},(()=>{const e=s.findTierByName(this.tieredOfferData.tiers,this.activeTabTier);return e?t("div",{class:"s-tiered-offer-tab-content"},t("div",{class:"s-tiered-offer-tab-content-inner"},t("div",{class:"s-tiered-offer-discount-section"},t("p",{class:"s-tiered-offer-discount-title"},this.discountText," ",t("span",{innerHTML:e.discount})),t("p",{class:"s-tiered-offer-benefit-description"},this.benefitText," ",e.name)))):null})()))}render(){if(this.isLoading)return this.getLoadingSkeletonView();if(!this.canRender||!this.tieredOfferData)return null;const e=this.getCurrentTierData();return t(r,null,t("div",{class:"s-tiered-offer-container"},t("div",{class:"s-tiered-offer-header"},t("div",{class:"s-tiered-offer-header-content"},t("p",{class:"s-tiered-offer-program-title"},this.loyaltyProgramText),this.currentTier&&t("div",{class:"s-tiered-offer-current-tier-name-wrapper"},t("h2",{class:"s-tiered-offer-current-tier"},this.currentTierText," ",t("span",{class:"s-tiered-offer-tier-name"},e.name)),t("span",{innerHTML:e.icon})))),this.renderProgressBar(),this.renderTabs()))}};n.style="/*!twlt*/.s-tiered-offer-milestone-icon svg{color:currentColor}.s-tiered-offer-milestone-icon svg path{stroke:currentColor;fill:none}.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-active svg path,.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-completed svg path{fill:currentColor;stroke:none}.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-active svg[fill=none] path,.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-completed svg[fill=none] path{fill:none;stroke:currentColor}[dir=rtl] .s-tiered-offer-progress-wrapper .s-tiered-offer-progress-bg{transform:scaleX(-1)}[dir=rtl] .s-tiered-offer-progress-wrapper .s-tiered-offer-progress-fill{transform:scaleX(-1);left:auto}[dir=rtl] .flip-x{transform:scaleX(-1)}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.hidden{display:none}.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))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-tiered-offer-container{position:relative;margin-bottom:1.25rem;width:100%;border-radius:0.5rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1rem;--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}@media (min-width: 640px){.s-tiered-offer-container{padding:1.25rem;padding-left:1.5rem;padding-right:1.5rem}}.s-tiered-offer-header{margin-bottom:1.5rem;display:flex;align-items:center;gap:0.75rem}.s-tiered-offer-header-content{flex:1 1 0%}.s-tiered-offer-current-tier-name-wrapper{display:flex;flex-direction:row;align-items:flex-start;gap:0.375rem}.s-tiered-offer-current-tier-name-wrapper h2{font-size:1.125rem;line-height:1.75rem}.s-tiered-offer-current-tier-name-wrapper svg{height:1.5rem;width:1.5rem}.s-tiered-offer-program-title{margin:0px;margin-bottom:0.5rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-tiered-offer-program-title h2{font-size:1.125rem;line-height:1.75rem}.s-tiered-offer-current-tier{margin:0px;margin-bottom:0.375rem;font-weight:700}.s-tiered-offer-tier-name{font-weight:600;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-tiered-offer-progress-container{margin-top:1.5rem;margin-bottom:1rem}.s-tiered-offer-progress-wrapper{position:relative}.s-tiered-offer-progress-bg{position:absolute;top:0.5rem;left:1rem;right:1rem;height:1rem;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.s-tiered-offer-progress-fill{position:absolute;top:0.5rem;height:1rem;border-radius:9999px;background-color:var(--color-primary);transition-property:all;transition-duration:500ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.s-tiered-offer-milestones-wrapper{display:flex;justify-content:flex-end}.s-tiered-offer-milestones{position:relative;display:flex;height:3rem;width:100%;align-items:center;justify-content:space-between}.s-tiered-offer-single-milestone-justify-end{position:relative;display:flex;height:3rem;width:100%;align-items:center;justify-content:flex-end}.s-tiered-offer-milestone{display:flex;flex-direction:column;align-items:center}.s-tiered-offer-milestone-icon{position:relative;z-index:10;margin-top:0px;display:flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border-radius:0.75rem;border-width:2px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.25rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-tiered-offer-milestone-icon span{display:flex;align-items:center;justify-content:center}.s-tiered-offer-milestone-icon svg{height:1.25rem;width:1.25rem;color:currentColor}.s-tiered-offer-milestone-name{margin-top:0.5rem;display:flex;height:1rem;align-items:center;justify-content:center}.s-tiered-offer-milestone-name span{text-align:center;font-size:0.875rem;line-height:1.25rem;font-weight:500}@media (min-width: 640px){.s-tiered-offer-milestone-name span{font-size:0.75rem;line-height:1rem}}.s-tiered-offer-tabs-container{margin-top:1rem}.s-tiered-offer-tab-headers{display:flex;gap:0.25rem;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.25rem}.s-tiered-offer-tab-header{display:flex;flex:1 1 0%;cursor:pointer;align-items:center;justify-content:center;border-radius:0.125rem;border-style:none;background-color:transparent;padding-top:0.625rem;padding-bottom:0.625rem;padding-left:0.75rem;padding-right:0.75rem;font-size:0.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:200ms}@media (min-width: 640px){.s-tiered-offer-tab-header{padding-top:0.5rem;padding-bottom:0.5rem;font-size:0.75rem;line-height:1rem}}.s-tiered-offer-tab-active{border-radius:0.375rem;background-color:var(--color-primary);--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 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-tiered-offer-tab-active:hover{background-color:var(--color-primary-dark);opacity:0.8}.s-tiered-offer-tab-content-wrapper{border-bottom-right-radius:0.375rem;border-bottom-left-radius:0.375rem;border-width:1px;border-top-width:0px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.s-tiered-offer-tab-content{padding-left:1.5rem;padding-right:1.5rem}@media (min-width: 640px){.s-tiered-offer-tab-content{padding-left:1rem;padding-right:1rem}}.s-tiered-offer-tab-content.tab-hidden{display:none}.s-tiered-offer-tab-content-inner{padding-top:1rem}.s-tiered-offer-discount-section{margin-bottom:0.5rem}.s-tiered-offer-discount-title{margin:0px;margin-bottom:0.5rem;font-size:1rem;line-height:1.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-tiered-offer-benefit-description{margin:0px;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-tiered-offer-skeleton-wrapper{padding:1.25rem}.s-tiered-offer-skeleton-title{margin-bottom:0.75rem}.s-tiered-offer-skeleton-subtitle{margin-bottom:1.5rem}.s-tiered-offer-skeleton-progress{margin-bottom:1.25rem}";export{n as salla_tiered_offer}
|
|
4
|
+
import{r as e,h as t,H as r}from"./p-C1mBhG6Z.js";var i;!function(e){e.PERCENTAGE="percentage",e.FIXED="fixed"}(i||(i={}));const o={staticIcons:['<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="40" height="40" color="#000000" fill="none">\n <path d="M13.7276 3.44418L15.4874 6.99288C15.7274 7.48687 16.3673 7.9607 16.9073 8.05143L20.0969 8.58575C22.1367 8.92853 22.6167 10.4206 21.1468 11.8925L18.6671 14.3927C18.2471 14.8161 18.0172 15.6327 18.1471 16.2175L18.8571 19.3125C19.417 21.7623 18.1271 22.71 15.9774 21.4296L12.9877 19.6452C12.4478 19.3226 11.5579 19.3226 11.0079 19.6452L8.01827 21.4296C5.8785 22.71 4.57865 21.7522 5.13859 19.3125L5.84851 16.2175C5.97849 15.6327 5.74852 14.8161 5.32856 14.3927L2.84884 11.8925C1.389 10.4206 1.85895 8.92853 3.89872 8.58575L7.08837 8.05143C7.61831 7.9607 8.25824 7.48687 8.49821 6.99288L10.258 3.44418C11.2179 1.51861 12.7777 1.51861 13.7276 3.44418Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>\n</svg>','<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" color="#000000" fill="none">\n <path d="M3 12C7.5 12 12 7.5 12 3C12 7.5 16.5 12 21 12C16.5 12 12 16.5 12 21C12 16.5 7.5 12 3 12Z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path>\n <path d="M2 19.5C2.83333 19.5 4.5 17.8333 4.5 17C4.5 17.8333 6.16667 19.5 7 19.5C6.16667 19.5 4.5 21.1667 4.5 22C4.5 21.1667 2.83333 19.5 2 19.5Z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path>\n <path d="M16 5C17 5 19 3 19 2C19 3 21 5 22 5C21 5 19 7 19 8C19 7 17 5 16 5Z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path>\n</svg>','<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="40" height="40" color="#000000" fill="none">\n <path d="M14.2644 18.3717C14.5806 17.407 14.7387 16.9247 15.0616 16.593C15.215 16.4354 15.3932 16.3048 15.5887 16.2066C16.0003 16 16.5003 16 17.5002 16C18.5001 16 19.0001 16 19.4116 16.2066C19.6072 16.3048 19.7853 16.4354 19.9388 16.593C20.2617 16.9247 20.4198 17.407 20.736 18.3717L21.0624 19.3675C21.4561 20.5688 21.653 21.1694 21.3587 21.5847C21.0643 22 20.4418 22 19.1966 22H15.8038C14.5586 22 13.936 22 13.6417 21.5847C13.3473 21.1694 13.5442 20.5688 13.938 19.3675L14.2644 18.3717Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M8.76421 10.3717C9.08041 9.40705 9.23851 8.92471 9.56143 8.59298C9.71485 8.43537 9.89299 8.3048 10.0885 8.20663C10.5001 8 11.0001 8 12 8C12.9999 8 13.4999 8 13.9115 8.20663C14.107 8.3048 14.2851 8.43537 14.4386 8.59298C14.7615 8.92471 14.9196 9.40705 15.2358 10.3717L15.5622 11.3675C15.956 12.5688 16.1528 13.1694 15.8585 13.5847C15.5642 14 14.9416 14 13.6964 14H10.3036C9.05842 14 8.43585 14 8.1415 13.5847C7.84716 13.1694 8.04404 12.5688 8.43779 11.3675L8.76421 10.3717Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M3.26439 18.3717C3.58059 17.407 3.73869 16.9247 4.06162 16.593C4.21504 16.4354 4.39317 16.3048 4.58872 16.2066C5.00031 16 5.50027 16 6.50018 16C7.5001 16 8.00006 16 8.41165 16.2066C8.6072 16.3048 8.78533 16.4354 8.93875 16.593C9.26167 16.9247 9.41977 17.407 9.73597 18.3717L10.0624 19.3675C10.4561 20.5688 10.653 21.1694 10.3587 21.5847C10.0643 22 9.44176 22 8.19661 22H4.80375C3.5586 22 2.93603 22 2.64169 21.5847C2.34735 21.1694 2.54422 20.5688 2.93797 19.3675L3.26439 18.3717Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M12 2V4M7.5 3.5L9 5M16.5 3.5L15 5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path>\n</svg>','<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" color="#000000" fill="none">\n <path d="M5.78223 4.18192C6.43007 3.68319 6.754 3.43383 7.12788 3.27323C7.29741 3.20041 7.47367 3.14158 7.65459 3.09741C8.0536 3 8.4767 3 9.32289 3H14.6771C15.5233 3 15.9464 3 16.3454 3.09741C16.5263 3.14158 16.7026 3.20041 16.8721 3.27323C17.246 3.43383 17.5699 3.68319 18.2178 4.18192C20.3644 5.83448 21.4378 6.66077 21.8057 7.73078C21.9694 8.20673 22.0305 8.70728 21.9858 9.20461C21.8852 10.3227 21.0379 11.346 19.3433 13.3925L15.3498 18.2153C13.8126 20.0718 13.044 21 12 21C10.956 21 10.1874 20.0718 8.65018 18.2153L4.65671 13.3925C2.96208 11.346 2.11476 10.3227 2.0142 9.20461C1.96947 8.70728 2.03064 8.20673 2.1943 7.73078C2.56224 6.66077 3.63557 5.83448 5.78223 4.18192Z" stroke="currentColor" stroke-width="1.5"></path>\n <path d="M10 8.5H14" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>\n</svg>'],staticColors:["#993018","#444444","#D18F36","#315F9C"]};class s{static findTierByIndex(e,t){return e.find((e=>e.index===t))||null}static findTierByName(e,t){return e.find((e=>e.tier_name===t))||null}static getTierNameByIndex(e,t){return this.findTierByIndex(e,t)?.tier_name}static findCurrentTierIndex(e,t){if(!t)return 0;for(let r=t.length-1;r>=0;r--)if(e>=t[r].threshold)return t[r].index;return 0}}const n=class{constructor(t){e(this,t),this.currentTierIndex=0,this.canRender=!1,this.isLoading=!1,this.handleTabClick=e=>{this.activeTabTier=e},salla.lang.onLoaded((()=>{this.loyaltyProgramText=salla.lang.get("blocks.tiered_offer.program_title"),this.currentTierText=salla.lang.get("blocks.tiered_offer.current_tier"),this.discountText=salla.lang.get("blocks.tiered_offer.discount"),this.benefitText=salla.lang.get("blocks.tiered_offer.tier_description")}))}async componentWillLoad(){try{if(await salla.onReady(),!this.checkFeatureEnabled())return;if(!this.checkCartExists())return;this.isLoading=!0;const e=await this.fetchTieredOfferData();if(!e)return;this.initializeComponent(e)}catch(e){this.canRender=!1,salla.logger.warn("salla-tiered-offer:: ",e)}finally{this.isLoading=!1}}checkFeatureEnabled(){return salla.config.get("store.features")?.includes("tiered-offer")}checkCartExists(){return!!salla.storage.get("cart")?.summary?.count}validateCouponCompatibility(e,t){return!(t&&!e.details?.applied_with_coupon)}shouldHideForGuest(){return salla.config.isGuest()}shouldHideUntilThreshold(e,t){return!(!e?.hide_until_threshold||0!==t)}resolveTierName(e,t){return s.getTierNameByIndex(e,t)||""}async fetchTieredOfferData(){try{const{data:e}=await salla.api.cart.offers(),t=e.find((e=>"tiered_offer"===e.type));return t?this.validateCouponCompatibility(t,salla.storage.get("cart")?.coupon)?t:(this.canRender=!1,null):null}catch(e){throw e}}initializeComponent(e){this.apiOfferData=e,this.tieredOfferData=this.mapApiDataToTiers(this.apiOfferData),this.loyaltyProgramText=this.apiOfferData.title||this.loyaltyProgramText;const t=this.findCurrentTierIndex(this.apiOfferData.details?.current_value||0);this.shouldHideForGuest()||this.shouldHideUntilThreshold(this.apiOfferData.details,t)?this.canRender=!1:(this.currentTierIndex=t,this.currentTier=this.resolveTierName(this.tieredOfferData.tiers,t),this.activeTabTier=this.currentTier||this.tieredOfferData.tiers[0]?.tier_name,this.canRender=!0)}componentDidLoad(){salla.event.on("cart::updated",(async e=>{let t=null;try{t=await this.fetchTieredOfferData()}catch(e){return void salla.logger.warn("salla-tiered-offer:: ",e)}t&&(this.tieredOfferData?this.updateOfferValues(e,t):this.initializeComponent(t))}))}mapApiDataToTiers(e){const t=[...e.details.discounts].sort(((e,t)=>e.min_spend-t.min_spend)).map(((e,t)=>({name:e.name,tier_name:e.name,discount:e.type===i.PERCENTAGE?`${salla.helpers.number(e.value)}%`:salla.money(e.value),icon:o.staticIcons[t]||o.staticIcons[0],threshold:e.min_spend,text_color:o.staticColors[t],index:t+1})));return{current_tier:s.getTierNameByIndex(t,this.findCurrentTierIndex(e.details.current_value,t)),tiers:t}}findCurrentTierIndex(e,t=this.tieredOfferData?.tiers){return s.findCurrentTierIndex(e,t||[])}updateOfferValues(e,t){if(!t||!this.tieredOfferData)return;if(!t.details?.discounts?.length)return void(this.canRender=!1);if(!this.validateCouponCompatibility(t,e.coupon))return void(this.canRender=!1);if(this.shouldHideForGuest())return void(this.canRender=!1);const r=this.mapApiDataToTiers(t),i=this.findCurrentTierIndex(t.details?.current_value||0,r.tiers);if(this.shouldHideUntilThreshold(t.details,i))return void(this.canRender=!1);if(!1===t.details?.with_current_cart)return void(this.canRender=!0);this.apiOfferData=t,this.tieredOfferData=r,this.canRender=!0,this.currentTierIndex=i,this.currentTier=this.resolveTierName(r.tiers,i);const o=this.currentTier||r.tiers[0]?.tier_name;this.activeTabTier!==o&&(this.activeTabTier=o)}getLoadingSkeletonView(){return t(r,null,t("div",{class:"s-tiered-offer-container"},t("div",{class:"s-tiered-offer-skeleton-wrapper"},t("div",{class:"s-tiered-offer-skeleton-title"},t("salla-skeleton",{height:"16px",width:"40%"})),t("div",{class:"s-tiered-offer-skeleton-subtitle"},t("salla-skeleton",{height:"20px",width:"60%"})),t("div",{class:"s-tiered-offer-skeleton-progress"},t("salla-skeleton",{height:"16px",width:"100%"})),t("div",{class:"s-tiered-offer-skeleton-tabs"},t("salla-skeleton",{height:"50px",width:"100%"})))))}getCurrentTierData(){return s.findTierByIndex(this.tieredOfferData.tiers,this.currentTierIndex)||this.tieredOfferData.tiers[0]}getProgressWidth(){const e=this.tieredOfferData.tiers.length;return this.findCurrentTierIndex(this.apiOfferData.details?.current_value||0)/e*100}calculateMilestonePosition(e,t){return 1===t?"calc(100% - 18px)":`${Math.max(2,Math.min(95,(e+1)/t*100-8/t))}%`}getMilestoneStyles(e,t,r){const i="rtl"===document.documentElement.dir,o=this.calculateMilestonePosition(t,r),s=e.name.length>6?"flex-end":"center";return{[i?"right":"left"]:o,alignItems:s,position:"absolute",transform:i?"translateX(50%)":"translateX(-50%)"}}getMilestoneIconStyles(e,t,r){return t?{color:e.text_color}:r?{color:"var(--color-primary)"}:{}}renderProgressBarBackground(e){return[t("div",{class:"s-tiered-offer-progress-bg"}),t("div",{class:"s-tiered-offer-progress-fill",style:{width:`${e}%`}})]}renderMilestoneIcon(e,r,i){const o=["s-tiered-offer-milestone-icon",r?"s-tiered-offer-milestone-active":"",i?"s-tiered-offer-milestone-completed":""].filter(Boolean).join(" ");return t("div",{class:o,style:this.getMilestoneIconStyles(e,r,i)},t("span",{innerHTML:e.icon}))}renderMilestoneName(e,r){return t("div",{class:"s-tiered-offer-milestone-name"},r&&t("span",{style:{color:e.text_color}},e.name))}renderMilestones(e,r){return t("div",{class:"s-tiered-offer-milestones-wrapper"},t("div",{class:1===r?"s-tiered-offer-single-milestone-justify-end":"s-tiered-offer-milestones"},this.tieredOfferData.tiers.map(((i,o)=>{const s=e>=i.threshold,n=i.tier_name===this.currentTier;return t("div",{class:"s-tiered-offer-milestone",style:this.getMilestoneStyles(i,o,r)},this.renderMilestoneIcon(i,n,s),this.renderMilestoneName(i,n))}))))}renderProgressBar(){const e=this.getProgressWidth(),r=this.tieredOfferData.tiers.length,i=this.apiOfferData.details?.current_value||0;return t("div",{class:"s-tiered-offer-progress-container"},t("div",{class:"s-tiered-offer-progress-wrapper"},this.renderProgressBarBackground(e),this.renderMilestones(i,r)))}renderTabs(){return t("div",{class:"s-tiered-offer-tabs-container"},t("div",{class:"s-tiered-offer-tab-headers"},this.tieredOfferData.tiers.map((e=>t("button",{class:"s-tiered-offer-tab-header "+(e.tier_name===this.activeTabTier?"s-tiered-offer-tab-active":""),onClick:()=>this.handleTabClick(e.tier_name)},t("span",null,e.name))))),t("div",{class:"s-tiered-offer-tab-content-wrapper"},(()=>{const e=s.findTierByName(this.tieredOfferData.tiers,this.activeTabTier);return e?t("div",{class:"s-tiered-offer-tab-content"},t("div",{class:"s-tiered-offer-tab-content-inner"},t("div",{class:"s-tiered-offer-discount-section"},t("p",{class:"s-tiered-offer-discount-title"},this.discountText," ",t("span",{innerHTML:e.discount})),t("p",{class:"s-tiered-offer-benefit-description"},this.benefitText," ",e.name)))):null})()))}render(){if(this.isLoading)return this.getLoadingSkeletonView();if(!this.canRender||!this.tieredOfferData)return null;const e=this.getCurrentTierData();return t(r,null,t("div",{class:"s-tiered-offer-container"},t("div",{class:"s-tiered-offer-header"},t("div",{class:"s-tiered-offer-header-content"},t("p",{class:"s-tiered-offer-program-title"},this.loyaltyProgramText),this.currentTier&&t("div",{class:"s-tiered-offer-current-tier-name-wrapper"},t("h2",{class:"s-tiered-offer-current-tier"},this.currentTierText," ",t("span",{class:"s-tiered-offer-tier-name"},e.name)),t("span",{innerHTML:e.icon})))),this.renderProgressBar(),this.renderTabs()))}};n.style="/*!twlt*/.s-tiered-offer-milestone-icon svg{color:currentColor}.s-tiered-offer-milestone-icon svg path{stroke:currentColor;fill:none}.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-active svg path,.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-completed svg path{fill:currentColor;stroke:none}.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-active svg[fill=none] path,.s-tiered-offer-milestone-icon.s-tiered-offer-milestone-completed svg[fill=none] path{fill:none;stroke:currentColor}[dir=rtl] .s-tiered-offer-progress-wrapper .s-tiered-offer-progress-bg{transform:scaleX(-1)}[dir=rtl] .s-tiered-offer-progress-wrapper .s-tiered-offer-progress-fill{transform:scaleX(-1);left:auto}[dir=rtl] .flip-x{transform:scaleX(-1)}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.hidden{display:none}.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))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-tiered-offer-container{position:relative;margin-bottom:1.25rem;width:100%;border-radius:0.5rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1rem;--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}@media (min-width: 640px){.s-tiered-offer-container{padding:1.25rem;padding-left:1.5rem;padding-right:1.5rem}}.s-tiered-offer-header{margin-bottom:1.5rem;display:flex;align-items:center;gap:0.75rem}.s-tiered-offer-header-content{flex:1 1 0%}.s-tiered-offer-current-tier-name-wrapper{display:flex;flex-direction:row;align-items:flex-start;gap:0.375rem}.s-tiered-offer-current-tier-name-wrapper h2{font-size:1.125rem;line-height:1.75rem}.s-tiered-offer-current-tier-name-wrapper svg{height:1.5rem;width:1.5rem}.s-tiered-offer-program-title{margin:0px;margin-bottom:0.5rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-tiered-offer-program-title h2{font-size:1.125rem;line-height:1.75rem}.s-tiered-offer-current-tier{margin:0px;margin-bottom:0.375rem;font-weight:700}.s-tiered-offer-tier-name{font-weight:600;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-tiered-offer-progress-container{margin-top:1.5rem;margin-bottom:1rem}.s-tiered-offer-progress-wrapper{position:relative}.s-tiered-offer-progress-bg{position:absolute;top:0.5rem;left:1rem;right:1rem;height:1rem;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.s-tiered-offer-progress-fill{position:absolute;top:0.5rem;height:1rem;border-radius:9999px;background-color:var(--color-primary);transition-property:all;transition-duration:500ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.s-tiered-offer-milestones-wrapper{display:flex;justify-content:flex-end}.s-tiered-offer-milestones{position:relative;display:flex;height:3rem;width:100%;align-items:center;justify-content:space-between}.s-tiered-offer-single-milestone-justify-end{position:relative;display:flex;height:3rem;width:100%;align-items:center;justify-content:flex-end}.s-tiered-offer-milestone{display:flex;flex-direction:column;align-items:center}.s-tiered-offer-milestone-icon{position:relative;z-index:10;margin-top:0px;display:flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border-radius:0.75rem;border-width:2px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.25rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-tiered-offer-milestone-icon span{display:flex;align-items:center;justify-content:center}.s-tiered-offer-milestone-icon svg{height:1.25rem;width:1.25rem;color:currentColor}.s-tiered-offer-milestone-name{margin-top:0.5rem;display:flex;height:1rem;align-items:center;justify-content:center}.s-tiered-offer-milestone-name span{text-align:center;font-size:0.875rem;line-height:1.25rem;font-weight:500}@media (min-width: 640px){.s-tiered-offer-milestone-name span{font-size:0.75rem;line-height:1rem}}.s-tiered-offer-tabs-container{margin-top:1rem}.s-tiered-offer-tab-headers{display:flex;gap:0.25rem;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.25rem}.s-tiered-offer-tab-header{display:flex;flex:1 1 0%;cursor:pointer;align-items:center;justify-content:center;border-radius:0.125rem;border-style:none;background-color:transparent;padding-top:0.625rem;padding-bottom:0.625rem;padding-left:0.75rem;padding-right:0.75rem;font-size:0.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:200ms}@media (min-width: 640px){.s-tiered-offer-tab-header{padding-top:0.5rem;padding-bottom:0.5rem;font-size:0.75rem;line-height:1rem}}.s-tiered-offer-tab-active{border-radius:0.375rem;background-color:var(--color-primary);--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));--tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);--tw-shadow-colored:0 1px 2px 0 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-tiered-offer-tab-active:hover{background-color:var(--color-primary-dark);opacity:0.8}.s-tiered-offer-tab-content-wrapper{border-bottom-right-radius:0.375rem;border-bottom-left-radius:0.375rem;border-width:1px;border-top-width:0px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.s-tiered-offer-tab-content{padding-left:1.5rem;padding-right:1.5rem}@media (min-width: 640px){.s-tiered-offer-tab-content{padding-left:1rem;padding-right:1rem}}.s-tiered-offer-tab-content.tab-hidden{display:none}.s-tiered-offer-tab-content-inner{padding-top:1rem}.s-tiered-offer-discount-section{margin-bottom:0.5rem}.s-tiered-offer-discount-title{margin:0px;margin-bottom:0.5rem;font-size:1rem;line-height:1.5rem;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-tiered-offer-benefit-description{margin:0px;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-tiered-offer-skeleton-wrapper{padding:1.25rem}.s-tiered-offer-skeleton-title{margin-bottom:0.75rem}.s-tiered-offer-skeleton-subtitle{margin-bottom:1.5rem}.s-tiered-offer-skeleton-progress{margin-bottom:1.25rem}";export{n as salla_tiered_offer}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as e,c as t,h as i,H as r}from"./p-
|
|
4
|
+
import{r as e,c as t,h as i,H as r}from"./p-C1mBhG6Z.js";import{a}from"./p-BedNk7k1.js";import{a as s}from"./p-B9q7ymSg.js";const n=class{constructor(i){e(this,i),this.changed=t(this,"changed"),this.min=0,this.max=1e4,this.moreThanLabel="أكثر من",this.lessThanLabel="أقل من",this.toLabel="الى",this.fromLabel="من",this.typing=!1,this.isMin=!1,this.isRTL=salla.config.get("theme.is_rtl",!0),this.filterValues=[]}connectedCallback(){if(this.filtersData&&this.filtersData?.price&&(this.minPrice=this.filtersData.price.min,this.maxPrice=this.filtersData.price.max),salla.lang.onLoaded((()=>{this.moreThanLabel=salla.lang.getWithDefault("common.elements.more_than",this.moreThanLabel),this.lessThanLabel=salla.lang.getWithDefault("common.elements.less_than",this.lessThanLabel),this.toLabel=salla.lang.getWithDefault("common.elements.to",this.toLabel),this.fromLabel=salla.lang.getWithDefault("common.elements.from",this.fromLabel)})),1==this.option.values.length)return;if(this.option.values.length<=5)return void(this.filterValues=this.option.values);const e=Math.ceil(this.option.values.length/5);for(let t=0;t<this.option.values.length;t+=e)this.filterValues.push(this.option.values.slice(t,t+e).reduce(((e,t)=>(e.to=t.to,e.count+=t.count,e))))}async reset(){this.minInput.value=null,this.maxInput.value=null,this.minPrice=null,this.maxPrice=null}getPriceLabel(e){return isNaN(e.from)||e.from<1?`${this.lessThanLabel} ${salla.money(e.to)}`:isNaN(e.to)||e.to<1?`${this.moreThanLabel} ${salla.money(e.from)}`:`${salla.money(e.from)} ${this.toLabel} ${salla.money(e.to)}`}minInputValidation(e){e&&(e>this.max||this.maxPrice&&e>this.maxPrice)||(e<this.min?this.minPrice=this.min:e&&(this.minPrice=e))}maxInputValidation(e){e&&(e<this.min||this.minPrice&&e<this.minPrice)||e>this.max&&(this.maxPrice=this.max)}async changedEventHandler(e){salla.helpers.inputDigitsOnly(this.minInput),salla.helpers.inputDigitsOnly(this.maxInput);const t=this.minPrice?1*+this.minPrice:null,i=this.maxPrice?1*+this.maxPrice:null;this.maxPrice||(this.maxPrice=""),this.isMin?this.minInputValidation(t):(this.minPrice||(this.minPrice=0),this.maxInputValidation(i)),this.isReady&&this.changed.emit({event:e,option:this.option,value:{max:this.maxPrice,min:this.minPrice}})}handleMinMaxPrice(e,t){this.minPrice=t.from,this.maxPrice="*"!==t.to?t.to:"",this.changedEventHandler(e)}isChecked(e){return!(!this.minPrice&&!this.maxPrice)&&(((e.from<1||"*"==e.from)&&0==this.minPrice||e.from==this.minPrice)&&("*"==e.to||!e.to||e.to==this.maxPrice))}handleMinPrice(e){this.isMin=!0;const t=e.target.value;this.minPrice=""===t?0:t}handleMaxPrice(e){this.isMin=!1;const t=e.target.value;this.maxPrice=void 0===t?"":t}render(){return i(r,{key:"582547be2a058bd2ab9c8567b5925f25711e1aff"},this.filterValues.map(((e,t)=>i("label",{class:"s-filters-label",htmlFor:`${this.option.key}-${t}`,key:t},i("input",{id:`${this.option.key}-${t}`,name:"price",type:"radio",checked:this.isChecked(e),class:"s-filters-radio",onChange:t=>this.handleMinMaxPrice(t,e)}),i("span",{innerHTML:this.getPriceLabel(e)})))),i("div",{key:"36dea18b1f8f9b9c11a235328d6019cdb0ea5d9d",class:"flex justify-center items-center"},i("div",{key:"765c5a4eca4cb39b47cba341e8c8f7b7888f0072",class:"relative max-w-xl w-full"},i("div",{key:"24c54bcec699865a391f198d701abcdcf40bd438",class:"s-price-range-inputs"},i("div",{key:"962c157d0d7df4f096eed09b51618f3bdadaa347",class:"s-price-range-relative"},i("div",{key:"e39123015563b93553be0498673245311644f178",class:"s-price-range-currency"}," ",salla.config.currency().symbol),i("input",{key:"4dadf22dc8ad4a982a07acdbb5b62b28b46aa49a",type:"number",maxlength:"5",ref:e=>this.minInput=e,onBlur:e=>this.handleMinPrice(e),value:this.minPrice,placeholder:this.fromLabel,class:"s-price-range-number-input"})),i("div",{key:"1aea9954befb49f6c9f3f0b1d20ce04defa352b9",class:"s-price-range-gray-text"}," -"),i("div",{key:"c4ed3a532ab1c780e69bcadd96ed9581e0a69a85",class:"s-price-range-relative"},i("div",{key:"3489752cc4de7fb82e758bf877959d7c34094d28",class:"s-price-range-currency"}," ",salla.config.currency().symbol),i("input",{key:"9f06151e1156553f0a45283c0db0af92c269c110",type:"number",maxlength:"5",ref:e=>this.maxInput=e,onBlur:e=>this.handleMaxPrice(e),value:this.maxPrice,placeholder:this.toLabel,class:"s-price-range-number-input","aria-describedby":"price-currency"})),i("salla-button",{key:"1496f0eb951492d3eaad51c90bc1234d746d748c",color:"gray",shape:"icon",size:"small",fill:"outline",onClick:e=>this.changedEventHandler(e)},i("span",{key:"9efb20a46dae252c5e82bb52f0bcb57c8e030c99",innerHTML:this.isRTL?a:s}))))))}componentDidLoad(){this.isReady=!0}};n.style="/*!twlt*/:host{display:block}.rtl .rtl-range-slider,[dir=rtl] .rtl-range-slider{transform:rotateY(180deg)}.rtl .rtl-range-numbers,[dir=rtl] .rtl-range-numbers{flex-direction:row-reverse}.rtl .form-select,.rtl select,[dir=rtl] .form-select,[dir=rtl] select{background-position:left 0.5rem center;padding-right:12px}.rtl .menu-divide li:not(:last-child):after,[dir=rtl] .menu-divide li:not(:last-child):after{left:0;right:auto}input[type=range]::-webkit-slider-thumb{pointer-events:all;width:24px;height:24px;-webkit-appearance:none}[type=checkbox]:checked{background-size:80%}.relative{position:relative}.flex{display:flex}.w-full{width:100%}.max-w-xl{max-width:36rem}.items-center{align-items:center}.justify-center{justify-content:center}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-price-range-input{pointer-events:none;position:absolute;z-index:20;height:0.5rem;width:100%;cursor:pointer;appearance:none;opacity:0}.s-price-range-bar{position:absolute;left:0px;right:0px;bottom:0px;top:0px;z-index:10;border-radius:0.375rem;--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.s-price-range-bar-container{position:relative;z-index:10;height:0.5rem}.s-price-range-active-bar{position:absolute;top:0px;bottom:0px;z-index:20;border-radius:0.375rem;background-color:var(--color-primary)}.s-price-range-left-handle{position:absolute;top:0px;left:0px;z-index:30;margin-top:-0.25rem;margin-left:-0px;height:1rem;width:1rem;cursor:pointer;border-radius:9999px;background-color:var(--color-primary);--tw-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.s-price-range-right-handle{position:absolute;top:0px;right:0px;z-index:30;margin-top:-0.25rem;margin-right:-0px;height:1rem;width:1rem;cursor:pointer;border-radius:9999px;background-color:var(--color-primary);--tw-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.s-price-range-inputs{display:flex;align-items:center;justify-content:flex-start;gap:0.5rem;padding-top:1rem}.s-price-range-number-input{width:6rem;border-radius:var(--s-radius, 0.25rem);border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-right:0.75rem;padding-top:0.5rem;padding-bottom:0.5rem;padding-left:2.25rem;text-align:center;font-size:0.875rem;line-height:1.25rem}.s-price-range-number-input:focus{--tw-border-opacity:1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.s-price-range-gray-text{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-price-range-currency{pointer-events:none;position:absolute;top:0px;bottom:0px;left:0px;display:flex;align-items:center;padding-left:0.5rem;padding-right:0.5rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.s-price-range-currency{font-size:0.875rem;line-height:1.25rem}}.s-price-range-relative{position:relative}";export{n as salla_price_range}
|