@salla.sa/twilight-components 2.14.563 → 2.14.565
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/{apple-pay-order-options-DVyeUqBh.js → apple-pay-order-options-B036Wu4O.js} +15 -6
- package/dist/cjs/{filepond-DDjPDNMW.js → filepond-BOtBFq7k.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-BVNh-Hu4.js → filepond-plugin-file-poster-DWqXLSRO.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-Oob5x06X.js → filepond-plugin-file-validate-size-TkDVc9ih.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-WxO8IEZf.js → filepond-plugin-file-validate-type-B1TuLFJS.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-Btg3AmB2.js → filepond-plugin-image-edit-BtLH803a.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-B1eJhME_.js → filepond-plugin-image-exif-orientation-BJvccc13.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-Cu5NsVcD.js → filepond-plugin-image-preview-DPgKIIC8.js} +1 -1
- package/dist/cjs/{index-Dm01liwE.js → index-BZ_aKmCD.js} +6 -6
- package/dist/cjs/{intlTelInput-mcmUzBhl.js → intlTelInput-CKLiJAA1.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-accordion-body_2.cjs.entry.js +4 -4
- package/dist/cjs/salla-accordion_6.cjs.entry.js +3 -3
- package/dist/cjs/salla-add-product-button_5.cjs.entry.js +98 -18
- package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
- package/dist/cjs/salla-alert_2.cjs.entry.js +4 -4
- 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 +18 -18
- package/dist/cjs/salla-badge.cjs.entry.js +2 -2
- package/dist/cjs/salla-basket-gap.cjs.entry.js +1 -1
- package/dist/cjs/salla-bullet-delivery_3.cjs.entry.js +46 -18
- package/dist/cjs/salla-cart-coupons.cjs.entry.js +3 -3
- package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +2 -2
- package/dist/cjs/salla-cart-summary-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-comment-factors.cjs.entry.js +1 -1
- package/dist/cjs/salla-comment-form_9.cjs.entry.js +4 -4
- package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
- package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
- package/dist/cjs/salla-count-down_2.cjs.entry.js +231 -42
- 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 +3 -3
- package/dist/cjs/salla-filters.cjs.entry.js +2 -2
- package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
- package/dist/cjs/salla-gifting.cjs.entry.js +4 -4
- package/dist/cjs/salla-hook.cjs.entry.js +2 -2
- package/dist/cjs/salla-infinite-scroll.cjs.entry.js +1 -1
- package/dist/cjs/salla-installment.cjs.entry.js +1 -1
- package/dist/cjs/salla-list-tile.cjs.entry.js +2 -2
- package/dist/cjs/salla-localization-modal.cjs.entry.js +2 -2
- package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-banner_10.cjs.entry.js +15 -15
- package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +3 -3
- package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +2 -2
- package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +2 -2
- package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
- package/dist/cjs/salla-maintenance-alert.cjs.entry.js +2 -2
- package/dist/cjs/salla-map_3.cjs.entry.js +4 -4
- package/dist/cjs/salla-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +4 -4
- package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +6 -6
- package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +2 -2
- package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
- package/dist/cjs/salla-notification-item_2.cjs.entry.js +2 -2
- package/dist/cjs/salla-offer-modal.cjs.entry.js +2 -2
- package/dist/cjs/salla-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details.cjs.entry.js +2 -2
- package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +2 -2
- package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-shipments.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-summary.cjs.entry.js +2 -2
- package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-orders.cjs.entry.js +1 -1
- package/dist/cjs/salla-payments.cjs.entry.js +3 -3
- package/dist/cjs/salla-placeholder.cjs.entry.js +2 -2
- package/dist/cjs/salla-price-range.cjs.entry.js +3 -3
- package/dist/cjs/salla-product-card-embed.cjs.entry.js +2 -2
- package/dist/cjs/salla-product-card.cjs.entry.js +6 -6
- package/dist/cjs/salla-product-size-guide.cjs.entry.js +3 -3
- package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
- package/dist/cjs/salla-products-slider.cjs.entry.js +1 -1
- package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
- package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +1 -1
- package/dist/cjs/salla-rating-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-review-factors-tags.cjs.entry.js +2 -2
- package/dist/cjs/salla-review-order-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
- package/dist/cjs/salla-search.cjs.entry.js +1 -1
- package/dist/cjs/salla-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/salla-social-share.cjs.entry.js +2 -2
- package/dist/cjs/salla-social.cjs.entry.js +2 -2
- package/dist/cjs/salla-tab-content_3.cjs.entry.js +4 -4
- package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-settings.cjs.entry.js +2 -2
- package/dist/cjs/salla-verify.cjs.entry.js +1 -1
- package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
- package/dist/cjs/salla-wishlist-actions.cjs.entry.js +2 -2
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/cjs/{vanilla-picker-D0r86yPu.js → vanilla-picker-C7y_2HXu.js} +1 -1
- package/dist/collection/components/salla-accordion/salla-accordion-body.js +1 -1
- package/dist/collection/components/salla-accordion/salla-accordion-head.js +2 -2
- package/dist/collection/components/salla-accordion/salla-accordion.js +1 -1
- package/dist/collection/components/salla-add-product-button/salla-add-product-button.js +2 -2
- package/dist/collection/components/salla-alert/salla-alert.js +1 -1
- package/dist/collection/components/salla-badge/salla-badge.js +1 -1
- package/dist/collection/components/salla-booking-field/salla-booking-field.js +1 -1
- package/dist/collection/components/salla-bottom-alert/salla-bottom-alert.js +2 -2
- package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.css +7 -0
- package/dist/collection/components/salla-bullet-delivery/salla-bullet-delivery.js +40 -12
- package/dist/collection/components/salla-cart-coupons/salla-cart-coupons.js +2 -2
- package/dist/collection/components/salla-cart-summary/salla-cart-summary.js +1 -1
- package/dist/collection/components/salla-color-picker/salla-color-picker.js +1 -1
- package/dist/collection/components/salla-comment-form/salla-comment-form.js +1 -1
- package/dist/collection/components/salla-conditional-fields/salla-conditional-fields.js +1 -1
- package/dist/collection/components/salla-count-down/salla-count-down.js +1 -1
- package/dist/collection/components/salla-datetime-picker/salla-datetime-picker.js +1 -1
- package/dist/collection/components/salla-file-upload/salla-file-upload.js +2 -2
- package/dist/collection/components/salla-filters/salla-filters.js +1 -1
- package/dist/collection/components/salla-filters-widget/salla-filters-widget.js +2 -2
- package/dist/collection/components/salla-gifting/salla-gifting.js +2 -2
- package/dist/collection/components/salla-hook/salla-hook.js +1 -1
- package/dist/collection/components/salla-list-tile/salla-list-tile.js +1 -1
- package/dist/collection/components/salla-loading/salla-loading.js +1 -1
- package/dist/collection/components/salla-localization-modal/salla-localization-modal.js +1 -1
- package/dist/collection/components/salla-loyalty/salla-loyalty-prize-item.js +1 -1
- package/dist/collection/components/salla-loyalty-points-history/salla-loyalty-points-history.js +1 -1
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-exchange-product-card.js +2 -2
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-hero.js +3 -3
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-point.js +4 -4
- package/dist/collection/components/salla-loyalty-program/salla-loyalty-reward.js +2 -2
- package/dist/collection/components/salla-loyalty-program/salla-reward-card.js +1 -1
- package/dist/collection/components/salla-loyalty-program/salla-reward-details.js +3 -3
- package/dist/collection/components/salla-loyalty-program/salla-reward-exchange.js +1 -1
- package/dist/collection/components/salla-maintenance-alert/salla-maintenance-alert.js +1 -1
- package/dist/collection/components/salla-map/salla-map.js +3 -3
- package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-cart.js +1 -1
- package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-details.js +2 -2
- package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-options-modal.js +4 -4
- package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-slider.js +1 -1
- package/dist/collection/components/salla-multiple-bundle-product/salla-multiple-bundle-product.js +1 -1
- package/dist/collection/components/salla-notifications/salla-notification-item.js +1 -1
- package/dist/collection/components/salla-offer-modal/salla-offer-modal.js +1 -1
- package/dist/collection/components/salla-order-details/salla-order-details.js +1 -1
- package/dist/collection/components/salla-order-edit/salla-order-edit-product-card.js +1 -1
- package/dist/collection/components/salla-order-options-modal/apple-pay-order-options.js +15 -6
- package/dist/collection/components/salla-order-options-modal/free-product-payload.js +49 -0
- package/dist/collection/components/salla-order-options-modal/order-options-gate.js +33 -8
- package/dist/collection/components/salla-order-options-modal/salla-order-options-modal.css +192 -15
- package/dist/collection/components/salla-order-options-modal/salla-order-options-modal.js +260 -48
- package/dist/collection/components/salla-order-summary/salla-order-summary.js +1 -1
- package/dist/collection/components/salla-payments/salla-payments.js +2 -2
- package/dist/collection/components/salla-placeholder/salla-placeholder.js +1 -1
- package/dist/collection/components/salla-price-range/salla-price-range.js +2 -2
- package/dist/collection/components/salla-product-availability/salla-product-availability.js +1 -1
- package/dist/collection/components/salla-product-card/salla-product-card.js +5 -5
- package/dist/collection/components/salla-product-card-embed/salla-product-card-embed.js +1 -1
- package/dist/collection/components/salla-product-size-guide/salla-product-size-guide.js +2 -2
- package/dist/collection/components/salla-quantity-input/salla-quantity-input.js +1 -1
- package/dist/collection/components/salla-quick-buy/salla-quick-buy.js +15 -5
- package/dist/collection/components/salla-review-card/salla-review-card.js +1 -1
- package/dist/collection/components/salla-review-factors-tags/salla-review-factors-tags.js +1 -1
- package/dist/collection/components/salla-reviews-page/salla-reviews-page.js +1 -1
- package/dist/collection/components/salla-searchable-dropdown/salla-searchable-dropdown.js +4 -4
- package/dist/collection/components/salla-skeleton/salla-skeleton.js +1 -1
- package/dist/collection/components/salla-social/salla-social.js +1 -1
- package/dist/collection/components/salla-social-share/salla-social-share.js +1 -1
- package/dist/collection/components/salla-tabs/salla-tab-content.js +1 -1
- package/dist/collection/components/salla-tabs/salla-tab-header.js +1 -1
- package/dist/collection/components/salla-tabs/salla-tabs.js +1 -1
- package/dist/collection/components/salla-tel-input/salla-tel-input.js +1 -1
- package/dist/collection/components/salla-tooltip/salla-tooltip.js +1 -1
- package/dist/collection/components/salla-user-settings/salla-user-settings.js +1 -1
- package/dist/collection/components/salla-wishlist-actions/salla-wishlist-actions.js +1 -1
- package/dist/components/apple-pay-order-options.js +15 -6
- package/dist/components/index.js +2 -2
- package/dist/components/salla-accordion-body2.js +1 -1
- package/dist/components/salla-accordion-head2.js +2 -2
- package/dist/components/salla-accordion2.js +1 -1
- package/dist/components/salla-add-product-button2.js +35 -11
- package/dist/components/salla-alert.js +1 -1
- package/dist/components/salla-badge2.js +1 -1
- package/dist/components/salla-booking-field2.js +1 -1
- package/dist/components/salla-bottom-alert.js +2 -2
- package/dist/components/salla-bullet-delivery.js +41 -13
- package/dist/components/salla-cart-coupons.js +2 -2
- package/dist/components/salla-cart-summary.js +1 -1
- package/dist/components/salla-color-picker2.js +1 -1
- package/dist/components/salla-comment-form2.js +1 -1
- package/dist/components/salla-conditional-fields2.js +1 -1
- package/dist/components/salla-count-down2.js +1 -1
- package/dist/components/salla-datetime-picker2.js +1 -1
- package/dist/components/salla-file-upload2.js +2 -2
- package/dist/components/salla-filters-widget2.js +2 -2
- package/dist/components/salla-filters.js +1 -1
- package/dist/components/salla-gifting.js +2 -2
- package/dist/components/salla-hook.js +1 -1
- package/dist/components/salla-list-tile2.js +1 -1
- package/dist/components/salla-loading2.js +1 -1
- package/dist/components/salla-localization-modal.js +1 -1
- package/dist/components/salla-loyalty-exchange-product-card2.js +2 -2
- package/dist/components/salla-loyalty-hero2.js +3 -3
- package/dist/components/salla-loyalty-point2.js +4 -4
- package/dist/components/salla-loyalty-points-history.js +1 -1
- package/dist/components/salla-loyalty-prize-item.js +1 -1
- package/dist/components/salla-loyalty-reward.js +2 -2
- package/dist/components/salla-maintenance-alert.js +1 -1
- package/dist/components/salla-map2.js +3 -3
- package/dist/components/salla-multiple-bundle-product-cart2.js +1 -1
- package/dist/components/salla-multiple-bundle-product-details2.js +2 -2
- package/dist/components/salla-multiple-bundle-product-options-modal2.js +4 -4
- package/dist/components/salla-multiple-bundle-product-slider2.js +1 -1
- package/dist/components/salla-multiple-bundle-product.js +1 -1
- package/dist/components/salla-notification-item2.js +1 -1
- package/dist/components/salla-offer-modal.js +1 -1
- package/dist/components/salla-order-details.js +1 -1
- package/dist/components/salla-order-edit-product-card.js +1 -1
- package/dist/components/salla-order-options-modal2.js +234 -40
- package/dist/components/salla-order-summary.js +1 -1
- package/dist/components/salla-payments.js +2 -2
- package/dist/components/salla-placeholder2.js +1 -1
- package/dist/components/salla-price-range2.js +2 -2
- package/dist/components/salla-product-availability2.js +1 -1
- package/dist/components/salla-product-card-embed.js +1 -1
- package/dist/components/salla-product-card2.js +5 -5
- package/dist/components/salla-product-size-guide.js +2 -2
- package/dist/components/salla-quantity-input2.js +1 -1
- package/dist/components/salla-quick-buy2.js +62 -6
- package/dist/components/salla-review-card2.js +1 -1
- package/dist/components/salla-review-factors-tags2.js +1 -1
- package/dist/components/salla-reviews-page.js +1 -1
- package/dist/components/salla-reward-card2.js +1 -1
- package/dist/components/salla-reward-details2.js +3 -3
- package/dist/components/salla-reward-exchange2.js +1 -1
- package/dist/components/salla-searchable-dropdown2.js +4 -4
- package/dist/components/salla-skeleton2.js +1 -1
- package/dist/components/salla-social-share2.js +1 -1
- package/dist/components/salla-social.js +1 -1
- package/dist/components/salla-tab-content2.js +1 -1
- package/dist/components/salla-tab-header2.js +1 -1
- package/dist/components/salla-tabs2.js +1 -1
- package/dist/components/salla-tel-input2.js +1 -1
- package/dist/components/salla-tooltip2.js +1 -1
- package/dist/components/salla-user-settings.js +1 -1
- package/dist/components/salla-wishlist-actions.js +1 -1
- package/dist/esm/{apple-pay-order-options-Bg2HuLRr.js → apple-pay-order-options-s0kn7yr8.js} +15 -6
- package/dist/esm/{filepond-CY6pyFip.js → filepond-UQa5G279.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-CB4IOEW6.js → filepond-plugin-file-poster-DuTq7hGp.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-CGmjBUqY.js → filepond-plugin-file-validate-size-CmrW5aIv.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-44ynhS6w.js → filepond-plugin-file-validate-type-C4wrsR8y.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-BaOXEOuD.js → filepond-plugin-image-edit-CFUxRm-l.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-CswLPc6C.js → filepond-plugin-image-exif-orientation-eHT2qXpP.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-DzvMpIJw.js → filepond-plugin-image-preview-CX0Er_bj.js} +1 -1
- package/dist/esm/{index-GfnuORRm.js → index-BC0OSCdw.js} +6 -6
- package/dist/esm/{intlTelInput-Cb2bEpkc.js → intlTelInput-DnPEdiN8.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-accordion-body_2.entry.js +4 -4
- package/dist/esm/salla-accordion_6.entry.js +3 -3
- package/dist/esm/salla-add-product-button_5.entry.js +98 -18
- package/dist/esm/salla-advertisement.entry.js +1 -1
- package/dist/esm/salla-alert_2.entry.js +4 -4
- 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 +18 -18
- package/dist/esm/salla-badge.entry.js +2 -2
- package/dist/esm/salla-basket-gap.entry.js +1 -1
- package/dist/esm/salla-bullet-delivery_3.entry.js +46 -18
- package/dist/esm/salla-cart-coupons.entry.js +3 -3
- package/dist/esm/salla-cart-item-offers_2.entry.js +2 -2
- package/dist/esm/salla-cart-summary-card.entry.js +1 -1
- package/dist/esm/salla-cashback-banner.entry.js +1 -1
- package/dist/esm/salla-comment-factors.entry.js +1 -1
- package/dist/esm/salla-comment-form_9.entry.js +4 -4
- package/dist/esm/salla-conditional-offer.entry.js +1 -1
- package/dist/esm/salla-contacts.entry.js +1 -1
- package/dist/esm/salla-cookies-bar.entry.js +1 -1
- package/dist/esm/salla-count-down_2.entry.js +231 -42
- 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 +3 -3
- package/dist/esm/salla-filters.entry.js +2 -2
- package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
- package/dist/esm/salla-gifting.entry.js +4 -4
- package/dist/esm/salla-hook.entry.js +2 -2
- package/dist/esm/salla-infinite-scroll.entry.js +1 -1
- package/dist/esm/salla-installment.entry.js +1 -1
- package/dist/esm/salla-list-tile.entry.js +2 -2
- package/dist/esm/salla-localization-modal.entry.js +2 -2
- package/dist/esm/salla-login-modal.entry.js +1 -1
- package/dist/esm/salla-loyalty-banner_10.entry.js +15 -15
- package/dist/esm/salla-loyalty-exchange-product-card.entry.js +3 -3
- package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
- package/dist/esm/salla-loyalty-points-history.entry.js +2 -2
- package/dist/esm/salla-loyalty-prize-item.entry.js +2 -2
- package/dist/esm/salla-loyalty.entry.js +1 -1
- package/dist/esm/salla-maintenance-alert.entry.js +2 -2
- package/dist/esm/salla-map_3.entry.js +4 -4
- package/dist/esm/salla-menu.entry.js +1 -1
- package/dist/esm/salla-metadata.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +4 -4
- package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +6 -6
- package/dist/esm/salla-multiple-bundle-product.entry.js +2 -2
- package/dist/esm/salla-next-order-coupon.entry.js +1 -1
- package/dist/esm/salla-notification-item_2.entry.js +2 -2
- package/dist/esm/salla-offer-modal.entry.js +2 -2
- package/dist/esm/salla-offer.entry.js +1 -1
- package/dist/esm/salla-order-branch.entry.js +1 -1
- package/dist/esm/salla-order-cancel.entry.js +1 -1
- package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-order-details-options.entry.js +1 -1
- package/dist/esm/salla-order-details.entry.js +2 -2
- package/dist/esm/salla-order-edit-item.entry.js +1 -1
- package/dist/esm/salla-order-edit-product-card.entry.js +2 -2
- package/dist/esm/salla-order-edit.entry.js +1 -1
- package/dist/esm/salla-order-shipments.entry.js +1 -1
- package/dist/esm/salla-order-summary.entry.js +2 -2
- package/dist/esm/salla-order-totals-card.entry.js +1 -1
- package/dist/esm/salla-orders.entry.js +1 -1
- package/dist/esm/salla-payments.entry.js +3 -3
- package/dist/esm/salla-placeholder.entry.js +2 -2
- package/dist/esm/salla-price-range.entry.js +3 -3
- package/dist/esm/salla-product-card-embed.entry.js +2 -2
- package/dist/esm/salla-product-card.entry.js +6 -6
- package/dist/esm/salla-product-size-guide.entry.js +3 -3
- package/dist/esm/salla-products-list.entry.js +1 -1
- package/dist/esm/salla-products-slider.entry.js +1 -1
- package/dist/esm/salla-quick-order.entry.js +1 -1
- package/dist/esm/salla-rating-modal-v2.entry.js +1 -1
- package/dist/esm/salla-rating-modal.entry.js +1 -1
- package/dist/esm/salla-review-factors-tags.entry.js +2 -2
- package/dist/esm/salla-review-order-item.entry.js +1 -1
- package/dist/esm/salla-scopes.entry.js +1 -1
- package/dist/esm/salla-search.entry.js +1 -1
- package/dist/esm/salla-skeleton.entry.js +2 -2
- package/dist/esm/salla-social-share.entry.js +2 -2
- package/dist/esm/salla-social.entry.js +2 -2
- package/dist/esm/salla-tab-content_3.entry.js +4 -4
- package/dist/esm/salla-tiered-offer.entry.js +1 -1
- package/dist/esm/salla-tooltip.entry.js +2 -2
- package/dist/esm/salla-trust-badges.entry.js +1 -1
- package/dist/esm/salla-user-menu.entry.js +1 -1
- package/dist/esm/salla-user-profile.entry.js +1 -1
- package/dist/esm/salla-user-settings.entry.js +2 -2
- package/dist/esm/salla-verify.entry.js +1 -1
- package/dist/esm/salla-wallet.entry.js +1 -1
- package/dist/esm/salla-wishlist-actions.entry.js +2 -2
- package/dist/esm/twilight.js +3 -3
- package/dist/esm/{vanilla-picker-Dn1KYUfg.js → vanilla-picker-BCMDEwEz.js} +1 -1
- package/dist/twilight/{p-ddc4c979.entry.js → p-00ade9ab.entry.js} +1 -1
- package/dist/twilight/{p-b108585a.entry.js → p-02b4c53f.entry.js} +1 -1
- package/dist/twilight/{p-a0ebb943.entry.js → p-040a60fa.entry.js} +1 -1
- package/dist/twilight/{p-eaf6405f.entry.js → p-077bba56.entry.js} +1 -1
- package/dist/twilight/p-08283d58.entry.js +4 -0
- package/dist/twilight/{p-c51e2840.entry.js → p-092e3574.entry.js} +1 -1
- package/dist/twilight/{p-9fe06cfd.entry.js → p-0ce7ec43.entry.js} +1 -1
- package/dist/twilight/{p-9420d204.entry.js → p-0cff28ab.entry.js} +1 -1
- package/dist/twilight/{p-a37c0015.entry.js → p-128c99f8.entry.js} +1 -1
- package/dist/twilight/{p-24a13f9a.entry.js → p-12d5856d.entry.js} +1 -1
- package/dist/twilight/{p-3bbcf3b5.entry.js → p-1678e509.entry.js} +1 -1
- package/dist/twilight/{p-0ccb9482.entry.js → p-1b61fdb7.entry.js} +1 -1
- package/dist/twilight/{p-79eca83e.entry.js → p-1c5df94c.entry.js} +1 -1
- package/dist/twilight/{p-4701b1db.entry.js → p-1e3f96f6.entry.js} +1 -1
- package/dist/twilight/{p-836528db.entry.js → p-217e8d6b.entry.js} +1 -1
- package/dist/twilight/{p-722afe08.entry.js → p-22454aab.entry.js} +1 -1
- package/dist/twilight/{p-15c3013e.entry.js → p-28cadf49.entry.js} +1 -1
- package/dist/twilight/p-29683d1e.entry.js +4 -0
- package/dist/twilight/{p-BwCPM9Ea.js → p-2LY0VWl8.js} +1 -1
- package/dist/twilight/{p-1494774e.entry.js → p-2ade195d.entry.js} +1 -1
- package/dist/twilight/{p-2b11beb9.entry.js → p-2c3bd065.entry.js} +1 -1
- package/dist/twilight/{p-b0c7b762.entry.js → p-2ddf12c9.entry.js} +1 -1
- package/dist/twilight/{p-9070affa.entry.js → p-2e68382e.entry.js} +1 -1
- package/dist/twilight/{p-0478a9d7.entry.js → p-39df1337.entry.js} +1 -1
- package/dist/twilight/{p-9b4ac3ed.entry.js → p-3cae6c0b.entry.js} +1 -1
- package/dist/twilight/{p-46a6e2f3.entry.js → p-3ccaf56b.entry.js} +1 -1
- package/dist/twilight/{p-d7bd8af5.entry.js → p-477fbe60.entry.js} +1 -1
- package/dist/twilight/{p-97ad1b5a.entry.js → p-4e53c800.entry.js} +1 -1
- package/dist/twilight/{p-ff54150b.entry.js → p-4ec4c29d.entry.js} +1 -1
- package/dist/twilight/p-4f9e25a2.entry.js +4 -0
- package/dist/twilight/{p-2c721e1a.entry.js → p-4fe6b957.entry.js} +1 -1
- package/dist/twilight/{p-f4b1dd6e.entry.js → p-512dffba.entry.js} +1 -1
- package/dist/twilight/{p-0c5747b1.entry.js → p-5258eb5b.entry.js} +1 -1
- package/dist/twilight/{p-2c00673b.entry.js → p-52abc216.entry.js} +1 -1
- package/dist/twilight/{p-46992827.entry.js → p-55c0c4d5.entry.js} +1 -1
- package/dist/twilight/{p-81dcaf69.entry.js → p-55ecefaf.entry.js} +1 -1
- package/dist/twilight/{p-d142c7d2.entry.js → p-5912c685.entry.js} +1 -1
- package/dist/twilight/{p-65d1043b.entry.js → p-596695cb.entry.js} +1 -1
- package/dist/twilight/{p-e9fe2027.entry.js → p-59a7515b.entry.js} +1 -1
- package/dist/twilight/{p-28ce2f83.entry.js → p-5aff8807.entry.js} +1 -1
- package/dist/twilight/p-5de36f11.entry.js +4 -0
- package/dist/twilight/{p-e23cd8b4.entry.js → p-60f4c8b0.entry.js} +1 -1
- package/dist/twilight/{p-ef20497a.entry.js → p-66460e90.entry.js} +1 -1
- package/dist/twilight/{p-deec864c.entry.js → p-6ef17286.entry.js} +1 -1
- package/dist/twilight/{p-6c27051d.entry.js → p-6fe42bfe.entry.js} +1 -1
- package/dist/twilight/{p-35c011ed.entry.js → p-717258c4.entry.js} +1 -1
- package/dist/twilight/{p-bd56d44c.entry.js → p-73795f51.entry.js} +1 -1
- package/dist/twilight/{p-c1baa245.entry.js → p-77540bba.entry.js} +1 -1
- package/dist/twilight/{p-c84cc730.entry.js → p-7785635d.entry.js} +1 -1
- package/dist/twilight/{p-24e0386e.entry.js → p-77a708f4.entry.js} +1 -1
- package/dist/twilight/{p-1b10f9dc.entry.js → p-7a7b9917.entry.js} +1 -1
- package/dist/twilight/{p-2ad08012.entry.js → p-810fca9f.entry.js} +1 -1
- package/dist/twilight/{p-33513478.entry.js → p-84aa1f0f.entry.js} +1 -1
- package/dist/twilight/{p-8b781b69.entry.js → p-85df7952.entry.js} +1 -1
- package/dist/twilight/{p-a916380a.entry.js → p-8628e5d7.entry.js} +1 -1
- package/dist/twilight/{p-d53cf9bd.entry.js → p-87638789.entry.js} +1 -1
- package/dist/twilight/{p-6afefa1b.entry.js → p-8872ae84.entry.js} +1 -1
- package/dist/twilight/p-8b6d7dbc.entry.js +4 -0
- package/dist/twilight/{p-87ab3986.entry.js → p-8bd738dd.entry.js} +1 -1
- package/dist/twilight/{p-9d304f36.entry.js → p-8e3ceb05.entry.js} +1 -1
- package/dist/twilight/{p-1fb98623.entry.js → p-8ea86806.entry.js} +1 -1
- package/dist/twilight/{p-1f46c7f4.entry.js → p-913f0e67.entry.js} +1 -1
- package/dist/twilight/{p-60307b84.entry.js → p-928bdd13.entry.js} +1 -1
- package/dist/twilight/{p-83ddc4e1.entry.js → p-94bab301.entry.js} +1 -1
- package/dist/twilight/{p-0ae5c8c4.entry.js → p-9549fe7d.entry.js} +1 -1
- package/dist/twilight/{p-DKRQn16d.js → p-B4qhqpMO.js} +1 -1
- package/dist/twilight/p-BC0OSCdw.js +5 -0
- package/dist/twilight/{p-CaG1mvtI.js → p-BQ2uPuvt.js} +1 -1
- package/dist/twilight/p-BqsrYTv0.js +9 -0
- package/dist/twilight/{p-DWBrx3up.js → p-CJ9itb04.js} +1 -1
- package/dist/twilight/{p-Y8Y3Lce-.js → p-CbE9Aa2n.js} +1 -1
- package/dist/twilight/{p-BOL1voLy.js → p-Cfn7Ybxi.js} +1 -1
- package/dist/twilight/{p-CktZCPMt.js → p-DdkjVgyM.js} +1 -1
- package/dist/twilight/{p-BJIMNMji.js → p-Dz1PaIS6.js} +1 -1
- package/dist/twilight/{p-eb43d534.entry.js → p-a4bea3d2.entry.js} +1 -1
- package/dist/twilight/{p-5f96b566.entry.js → p-a72038c1.entry.js} +1 -1
- package/dist/twilight/{p-e32cef83.entry.js → p-a7340ba8.entry.js} +1 -1
- package/dist/twilight/{p-3d3ae480.entry.js → p-a94e4fc8.entry.js} +1 -1
- package/dist/twilight/{p-bc2766e2.entry.js → p-ad92b347.entry.js} +1 -1
- package/dist/twilight/{p-fc4b2479.entry.js → p-b65a15cb.entry.js} +1 -1
- package/dist/twilight/p-b92eb535.entry.js +4 -0
- package/dist/twilight/{p-caa21010.entry.js → p-bb8f6167.entry.js} +1 -1
- package/dist/twilight/{p-8eafdb6b.entry.js → p-bbfd1991.entry.js} +1 -1
- package/dist/twilight/{p-76bbf673.entry.js → p-beb9023e.entry.js} +1 -1
- package/dist/twilight/{p-e7d359d0.entry.js → p-ca540632.entry.js} +1 -1
- package/dist/twilight/{p-43ddc1a9.entry.js → p-d32ba4d6.entry.js} +1 -1
- package/dist/twilight/{p-9755cd5c.entry.js → p-dbe87ffe.entry.js} +1 -1
- package/dist/twilight/{p-4f5734c8.entry.js → p-dd4e8765.entry.js} +1 -1
- package/dist/twilight/{p-435538fc.entry.js → p-de3cd06e.entry.js} +1 -1
- package/dist/twilight/{p-fe28663a.entry.js → p-e0600f10.entry.js} +1 -1
- package/dist/twilight/{p-2a56105f.entry.js → p-e0a3937a.entry.js} +1 -1
- package/dist/twilight/{p-a69fada2.entry.js → p-e5ae8c3b.entry.js} +1 -1
- package/dist/twilight/{p-eb3b0f9a.entry.js → p-e67ba69c.entry.js} +1 -1
- package/dist/twilight/p-e77d4dbc.entry.js +4 -0
- package/dist/twilight/{p-d465b5f4.entry.js → p-eb5d5edc.entry.js} +1 -1
- package/dist/twilight/{p-119c92ea.entry.js → p-ed39f8fd.entry.js} +1 -1
- package/dist/twilight/{p-a8bd25ca.entry.js → p-f1b8972a.entry.js} +1 -1
- package/dist/twilight/{p-09adb410.entry.js → p-f66a6f43.entry.js} +1 -1
- package/dist/twilight/{p-08b78fdb.entry.js → p-f9aa9b5b.entry.js} +1 -1
- package/dist/twilight/{p-1a3b5964.entry.js → p-f9d778ec.entry.js} +1 -1
- package/dist/twilight/{p-5f6e61c1.entry.js → p-fcf32a4c.entry.js} +25 -25
- package/dist/twilight/{p-fc04f809.entry.js → p-fd38337e.entry.js} +1 -1
- package/dist/twilight/p-s0kn7yr8.js +4 -0
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-order-options-modal/apple-pay-order-options.d.ts +9 -4
- package/dist/types/components/salla-order-options-modal/free-product-payload.d.ts +19 -0
- package/dist/types/components/salla-order-options-modal/order-options-gate.d.ts +11 -1
- package/dist/types/components/salla-order-options-modal/salla-order-options-modal.d.ts +76 -21
- package/dist/types/components/salla-quick-buy/salla-quick-buy.d.ts +2 -0
- package/dist/types/components.d.ts +59 -22
- package/package.json +5 -5
- package/dist/twilight/p-1e1ba8b7.entry.js +0 -4
- package/dist/twilight/p-2f76a067.entry.js +0 -4
- package/dist/twilight/p-9c50b57e.entry.js +0 -4
- package/dist/twilight/p-Bg2HuLRr.js +0 -4
- package/dist/twilight/p-GfnuORRm.js +0 -5
- package/dist/twilight/p-a1a4a1a8.entry.js +0 -4
- package/dist/twilight/p-bf4174b7.entry.js +0 -4
- package/dist/twilight/p-e2e741f7.entry.js +0 -4
- package/dist/twilight/p-fba00709.entry.js +0 -4
- package/dist/twilight/p-m9gfUJP2.js +0 -9
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Crafted with ❤ by Salla
|
|
3
|
+
*/
|
|
4
|
+
import{r as t,c as i,h as o,H as e,a,e as s}from"./p-BC0OSCdw.js";import{C as r}from"./p-gFG8By9O.js";import{H as n}from"./p-CUSw0W26.js";import{a as l}from"./p-CRW60UDr.js";import{B as p}from"./p-D3mWkc-3.js";import{D as c}from"./p-CoQJOPRz.js";import{i as d}from"./p-BsXh13x8.js";import{C as u}from"./p-C6jIkM-X.js";import{r as h,b as m,a as g}from"./p-s0kn7yr8.js";import"./p-CgtvEd63.js";const y="apple-pay-sdk";let b=null;function w(){return salla?.config?.get?.("store.settings.buy_now.merchant_identifier")||null}function f(){return"undefined"==typeof document?Promise.resolve():b||(document.getElementById(y)?(b=Promise.resolve(),b):(b=new Promise((t=>{const i=document.createElement("script");i.src="https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js",i.setAttribute("id",y),i.async=!0,i.onload=()=>t(),i.onerror=()=>t(),document.body.appendChild(i)})),b))}async function v(t="SAR"){try{if(window.ApplePaySession?.canMakePayments?.())return!0}catch(t){}if("undefined"==typeof window||!window.PaymentRequest)return!1;if(!w())return!1;await f();try{const i=new PaymentRequest(function({version:t,merchantIdentifier:i,supportedNetworks:o,countryCode:e}){return[{supportedMethods:"https://apple.com/apple-pay",data:{version:t,merchantIdentifier:i,merchantCapabilities:["supports3DS"],supportedNetworks:o,countryCode:e}}]}({version:3,merchantIdentifier:w(),supportedNetworks:salla?.config?.get?.("store.settings.buy_now.supportedNetworks")||salla?.config?.get?.("store.settings.buy_now.networks")||["masterCard","visa"],countryCode:salla?.config?.get?.("store.store_country")||"SA"}),{total:{label:"Salla",amount:{currency:t||"SAR",value:"0.00"}}});return await i.canMakePayment()}catch(t){return!1}}function x(t,i){if(!t||!i?.length)return;const o="function"==typeof t.set,e=i=>o?t.get?.(i):t[i],a=(i,e)=>{o?t.set(i,e):t[i]=e},s=i=>{o?t.delete?.(i):delete t[i]},r=e("id"),n=e("quantity")||"1";r&&(s("id"),s("quantity"),a("products[0][id]",String(r)),a("products[0][quantity]",String(n))),i.forEach(((t,i)=>{const o=r?i+1:i;a(`products[${o}][id]`,String(t.productId)),a(`products[${o}][quantity]`,String(t.quantity)),Object.entries(t.options).forEach((([t,i])=>{a(`products[${o}][options][${t}]`,String(i))}))}))}class k{constructor(t,i){this.host=t,this.productId=i,this.collected=!1,this.livePrice=0}static attach(t,i){const o=t.querySelector("salla-mini-checkout-widget");if(!o)return!1;const e=new k(t,String(i));return salla.product?.event?.onPriceUpdated?.((t=>{e.livePrice=Number(t?.data?.price)||e.livePrice})),o.addEventListener("click",(t=>e.handleWidgetClick(t,o)),!0),!0}getSelectedQuantity(){try{const t=document.querySelector("form.product-form"),i=t?.getElementSallaData?.(),o=Number(i instanceof FormData?i.get("quantity"):i?.quantity);if(Number.isFinite(o)&&o>0)return o}catch{}return Number(this.host.getAttribute("quantity"))||1}async handleWidgetClick(t,i){if(this.collected)return void(this.collected=!1);if(t.preventDefault(),t.stopImmediatePropagation(),!await this.validatePdpOptions())return;if(salla.config.isGuest())return void salla.api.auth.requireLoginThen("salla-add-product-button::oo.after-login",(()=>this.handleWidgetClick(t,i)));let o;i.classList.add("s-add-product-button-busy");try{o=await salla.api.withoutNotifier((()=>salla.product.api.getOrderOptions([{id:this.productId,quantity:this.getSelectedQuantity()}])))}catch(t){return salla?.logger?.warn?.("order-options: fetch failed",t),i.classList.remove("s-add-product-button-busy"),void this.resumeWidget(i)}i.classList.remove("s-add-product-button-busy");const e=o?.data?.order_options||[],a=o?.data?.advance_free_product,s=(Array.isArray(a)?a:[]).filter((t=>Array.isArray(t?.options)&&t.options.length));if(!e.length&&!s.length)return void this.resumeWidget(i);const r=this.livePrice>0?this.livePrice:Number(o?.data?.products?.[0]?.price?.amount)||0,n=this.ensureModal();try{const t=await n.open({orderOptions:e,freeProducts:s,basePrice:r});this.injectIntoMini(t?.orderOptions||[],t?.freeProducts||[]),this.resumeWidget(i)}catch{}}async validatePdpOptions(){const t=document.querySelector(`salla-product-options[product-id="${this.productId}"]`);return!t||("function"==typeof t.validateAndScroll?await t.validateAndScroll():"function"!=typeof t.reportValidity||await t.reportValidity())}injectIntoMini(t,i){if(!t.length&&!i.length)return;const o=this.productId,e=a=>{if(String(a?.id)===String(o))try{const o=a?.payload;t.length&&o?.set?.("order_options",t),x(o,i)}finally{salla.event.off("cart::before.add.item",e)}};salla.event.on("cart::before.add.item",e)}ensureModal(){let t=document.querySelector("salla-order-options-modal");return t||(t=document.createElement("salla-order-options-modal"),document.body.appendChild(t)),t}resumeWidget(t){this.collected=!0;const i=t.shadowRoot?.querySelector?.(".s-fast-checkout-button");i?i.click():"function"==typeof t.click&&t.click()}}const _=class{constructor(o){t(this,o),this.success=i(this,"success"),this.failed=i(this,"failed"),this.hostAttributes={},this.hasPreOrder=!1,this.productStatus="sale",this.productType="product",this.selectedOptions=[],this.buyNowText=salla.lang.get("pages.products.buy_now"),this.isDesktopViewport="undefined"==typeof window||window.matchMedia("(min-width: 768px)").matches,this.viewportMediaQuery=null,this.orderOptionsGateAttached=!1,this.onViewportChange=t=>{this.isDesktopViewport=t.matches,this.btn?.setText(t.matches&&this.passedLabel?this.passedLabel:this.getLabel())},salla.lang.onLoaded((()=>{this.buyNowText=salla.lang.get("pages.products.buy_now")}))}getLabel(){return"sale"===this.productStatus&&this.supportStickyBar&&!this.isDesktopViewport&&this.showQuickBuy&&this.isApplePayActive?r:this.hasPreOrder?salla.lang.get("pages.products.pre_order_now"):"sale"===this.productStatus&&"booking"===this.productType?salla.lang.get("pages.cart.book_now"):"sale"===this.productStatus?salla.lang.get("pages.cart.add_to_cart"):"donating"!==this.productType?salla.lang.get("pages.products.out_of_stock"):salla.lang.get("pages.products.donation_exceed")}addProductToCart(t){if("booking"===this.productType)return t.preventDefault(),this.addBookingProduct();if("submit"===this.hostAttributes.type)return!1;t.preventDefault(),this.btn?.disable();const i=document.querySelector(`salla-product-options[product-id="${this.productId}"]`);return i&&"function"==typeof i.validateAndScroll?i.validateAndScroll().then((async t=>{const i={isValid:t,component:this};if(await salla.hooks.call("salla-add-product-button","validate",i),i.isValid)return this._proceedAddToCart();this.btn?.enable()})).catch((()=>{this.btn?.enable()})):this._proceedAddToCart()}async _proceedAddToCart(){const t=this.host.closest("salla-products-list, salla-products-slider")??this.host.closest("salla-product-card, custom-salla-product-card"),i=Object.entries({id:this.productId,donation_amount:this.donatingAmount,quantity:this.quantity,endpoint:"quickAdd",source:n.getProductsSource(t?.getAttribute("source"))}).reduce(((t,[i,o])=>o?(t[i]=o,t):t),{});return salla.cart.addItem(i).then((async t=>(this.selectedOptions=[],this.btn?.enable(),this.success.emit(t),t))).catch((t=>{this.failed.emit(t),this.btn?.enable()}))}addBookingProduct(){return salla.config.isGuest()?(salla.auth.api.setAfterLoginEvent("booking::add",this.productId),void salla.event.dispatch("login::open")):salla.booking.add(this.productId).then((t=>this.success.emit(t))).catch((t=>this.failed.emit(t)))}getBtnAttributes(){for(let t=0;t<this.host.attributes.length;t++)["id","class"].includes(this.host.attributes[t].name)||(this.hostAttributes[this.host.attributes[t].name]=this.host.attributes[t].value);return this.hostAttributes}get notifyChannels(){return this.channels||salla.api.product.getAvailabilityChannels?.()||n.availabilityChannels()}getQuickBuyBtnAttributes(){return{...this.getBtnAttributes(),type:this.supportStickyBar&&!this.isDesktopViewport?"plain":"donating"==this.productType?"donate":"buy"}}miniCheckoutWidget(){let t=salla.config.get("store.id");if(t)return o("salla-mini-checkout-widget",{language:salla.lang.locale,"store-id":t,config:{user:salla.config.get("user"),failure_url:window.location.href},products:[this.productId],api:salla.config.get("store.api"),outline:!0,"form-selector":"form.product-form",class:"s-add-product-button-mini-checkout"},o("div",{slot:"widget-label",class:"s-add-product-button-mini-checkout-content"},o("span",{innerHTML:'\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>full-wallet</title>\n<path d="M29 12h-26c-0.668-0.008-1.284-0.226-1.787-0.59l0.009 0.006c-0.744-0.552-1.222-1.428-1.222-2.416 0-1.657 1.343-3 2.999-3h6c0.552 0 1 0.448 1 1s-0.448 1-1 1v0h-6c-0.552 0-1 0.448-1 1 0 0.326 0.156 0.616 0.397 0.798l0.002 0.002c0.167 0.12 0.374 0.194 0.599 0.2l0.001 0h26c0.552 0 1 0.448 1 1s-0.448 1-1 1v0zM27 12c-0.552 0-1-0.448-1-1v0-3h-3c-0.552 0-1-0.448-1-1s0.448-1 1-1v0h4c0.552 0 1 0.448 1 1v0 4c0 0.552-0.448 1-1 1v0zM29 30h-26c-1.657 0-3-1.343-3-3v0-18c0-0.552 0.448-1 1-1s1 0.448 1 1v0 18c0 0.552 0.448 1 1 1v0h25v-5c0-0.552 0.448-1 1-1s1 0.448 1 1v0 6c0 0.552-0.448 1-1 1v0zM29 18c-0.552 0-1-0.448-1-1v0-6c0-0.552 0.448-1 1-1s1 0.448 1 1v0 6c0 0.552-0.448 1-1 1v0zM31 24h-7c-2.209 0-4-1.791-4-4s1.791-4 4-4v0h7c0.552 0 1 0.448 1 1v0 6c0 0.552-0.448 1-1 1v0zM24 18c-1.105 0-2 0.895-2 2s0.895 2 2 2v0h6v-4zM25 12c-0.001 0-0.001 0-0.002 0-0.389 0-0.726-0.222-0.891-0.546l-0.003-0.006-3.552-7.106-2.306 1.152c-0.13 0.066-0.284 0.105-0.447 0.105-0.552 0-1-0.448-1-1 0-0.39 0.223-0.727 0.548-0.892l0.006-0.003 3.2-1.6c0.13-0.067 0.284-0.106 0.447-0.106 0.39 0 0.727 0.223 0.892 0.548l0.003 0.006 4 8c0.067 0.13 0.106 0.285 0.106 0.448 0 0.552-0.448 1-1 1v0zM21 12c-0.001 0-0.001 0-0.002 0-0.389 0-0.726-0.222-0.891-0.546l-0.003-0.006-3.552-7.106-15.104 7.552c-0.13 0.066-0.284 0.105-0.447 0.105-0.552 0-1-0.448-1-1 0-0.39 0.223-0.727 0.548-0.892l0.006-0.003 16-8c0.13-0.067 0.284-0.106 0.447-0.106 0.39 0 0.727 0.223 0.892 0.548l0.003 0.006 4 8c0.067 0.13 0.106 0.285 0.106 0.448 0 0.552-0.448 1-1 1-0.001 0-0.001 0-0.002 0h0z"></path>\n</svg>\n'}),this.buyNowText))}componentWillLoad(){return salla.onReady().then((async()=>{if(document.documentElement.classList.add("hydrated"),this.showQuickBuy=this.quickBuy&&salla.config.get("store.settings.buy_now")&&"sale"==this.productStatus&&"booking"!==this.productType,this.isApplePayActive=salla.config.get("store.settings.payments")?.includes("apple_pay")&&salla.config.get("store.settings.is_salla_gateway",!1)&&await v(),this.passedLabel=this.host.innerHTML.replace("\x3c!----\x3e","").trim(),this.passedLabel&&this.isDesktopViewport)return this.btn?.setText(this.passedLabel);"submit"===this.host.getAttribute("type")&&this.supportStickyBar&&(this.viewportMediaQuery=window.matchMedia("(min-width: 768px)"),this.viewportMediaQuery.addEventListener("change",this.onViewportChange))}))}render(){return this.host.closest(".swiper-slide")?.classList.contains("swiper-slide-duplicate")?"":this.hasSubscribedOptions?o(e,null,o("salla-product-availability",{...this.getBtnAttributes(),"is-subscribed":!0},o("span",{class:"s-hidden"},o("slot",null)))):"out-and-notify"===this.productStatus&&this.notifyChannels||this.hasOutOfStockOption?o(e,null,o("salla-product-availability",{...this.getBtnAttributes()},o("span",{class:"s-hidden"},o("slot",null)))):o(e,{class:{"s-add-product-button-with-quick-buy":this.showQuickBuy,"s-add-product-button-with-sticky-bar":this.supportStickyBar,"s-add-product-button-with-apple-pay":this.showQuickBuy&&this.isApplePayActive}},o("div",{class:{"s-add-product-button-main":this.showQuickBuy,"w-full":!document.getElementById("fast-checkout-js")||["financial_support","donating"].includes(this.productType)}},o("salla-button",{color:"sale"===this.productStatus?"primary":"light",type:"button",fill:"sale"===this.productStatus?"solid":"outline",ref:t=>this.btn=t,onClick:t=>this.addProductToCart(t),disabled:"sale"!==this.productStatus,...this.getBtnAttributes(),"loader-position":"center"},o("slot",null)),this.showQuickBuy&&document.getElementById("fast-checkout-js")&&!["financial_support","donating"].includes(this.productType)?this.miniCheckoutWidget():""),this.showQuickBuy&&this.isApplePayActive?o("salla-quick-buy",{...this.getQuickBuyBtnAttributes()}):"")}async componentDidLoad(){await Salla.hooks.registerComponent("salla-add-product-button",this),this.notifyOptionsAvailability&&salla.event.on("product-options::change",(async t=>{if(!["thumbnail","color","single-option"].includes(t.option.type))return;this.hasSubscribedOptions=!1,this.selectedOptions=await(document.querySelector(`salla-product-options[product-id="${this.productId}"]`)?.getSelectedOptions()),this.hasOutOfStockOption=await(document.querySelector(`salla-product-options[product-id="${this.productId}"]`)?.hasOutOfStockOption());let i=salla.storage.get(`product-${this.productId}-subscribed-options`);if((i||this.subscribedOptions)&&this.hasOutOfStockOption)if(salla.config.isGuest()){const t=i?i.map((t=>t.split(",").map((t=>parseInt(t))))):[];this.hasSubscribedOptions=t.length>0&&t.some((t=>t.every((t=>this.selectedOptions.some((i=>i.id===t))))))}else this.hasSubscribedOptions=!(!this.subscribedOptions||"null"===this.subscribedOptions||"[]"===this.subscribedOptions)&&JSON.parse(this.subscribedOptions).some((t=>t.every((t=>this.selectedOptions.some((i=>i.id===t))))))}))}componentDidRender(){!this.orderOptionsGateAttached&&this.productId&&k.attach(this.host,this.productId)&&(this.orderOptionsGateAttached=!0),!this.passedLabel||this.supportStickyBar&&!this.isDesktopViewport?(this.btn?.setText(this.getLabel()),salla.lang.onLoaded((()=>this.btn?.setText(this.getLabel())))):this.btn?.setText(this.passedLabel)}disconnectedCallback(){this.viewportMediaQuery?.removeEventListener("change",this.onViewportChange)}get host(){return a(this)}};_.style='/*!twlt*/:host{display:block}salla-add-product-button[width=wide]{width:100%}.sticky{position:sticky}.w-full{width:100%}.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-hidden{display:none}.btn{display:inline-flex;flex:1 1 0%;align-items:center;justify-content:center;white-space:nowrap;border-radius:0.375rem;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:0.625rem;padding-top:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.btn:hover{opacity:0.8}.s-hidden{display:none}.s-add-product-button-with-quick-buy{display:flex}@media (min-width: 640px){.s-add-product-button-with-quick-buy{flex-direction:column}}.s-add-product-button-with-quick-buy:not(.s-add-product-button-with-sticky-bar){flex-direction:column !important}.s-add-product-button-main{display:flex;width:66.666667%;column-gap:0.375rem}@media (min-width: 640px){.s-add-product-button-main{width:100%;column-gap:0.625rem}}.s-add-product-button-with-sticky-bar salla-quick-buy{width:33.333333%}@media (min-width: 640px){.s-add-product-button-with-sticky-bar salla-quick-buy{width:100%}}.s-add-product-button-with-quick-buy:not(.s-add-product-button-with-sticky-bar) .s-add-product-button-main{width:100%}.s-add-product-button-with-quick-buy:not(.s-add-product-button-with-apple-pay) .s-add-product-button-main{width:100%}.s-add-product-button-main:not(.w-full)>salla-button{width:50% !important}.s-add-product-button-main .s-add-product-button-mini-checkout{--salla-fast-checkout-button-border-radius:.75rem;width:50%}.s-add-product-button-with-sticky-bar{width:100% !important}@media (min-width: 640px){.s-add-product-button-with-sticky-bar{width:auto}}.s-add-product-button-with-apple-pay{column-gap:0.375rem}@media (min-width: 640px){.s-add-product-button-with-apple-pay{column-gap:unset}}.s-add-product-button-with-apple-pay:not(.s-add-product-button-with-sticky-bar) salla-quick-buy apple-pay-button{margin-top:0.625rem}.s-add-product-button-with-sticky-bar salla-quick-buy .s-quick-buy-button .s-button-text span{display:none}@media (min-width: 768px){.s-add-product-button-with-sticky-bar salla-quick-buy .s-quick-buy-button .s-button-text span{display:block}}.s-add-product-button-mini-checkout-content{display:flex;flex-shrink:0;align-items:center;white-space:nowrap;font-size:.8rem}@media (min-width: 640px){.s-add-product-button-mini-checkout-content{font-size:0.875rem;line-height:1.25rem}}.s-add-product-button-mini-checkout-content:where([dir="rtl"],[dir="rtl"] *){flex-direction:row-reverse}.s-add-product-button-mini-checkout-content svg{margin-right:0.375rem;height:1rem;width:1rem;fill:currentColor}.s-add-product-button-mini-checkout-content svg:where([dir="rtl"],[dir="rtl"] *){margin-right:0px;margin-left:0.375rem}.s-add-product-button-busy{pointer-events:none;position:relative}.s-add-product-button-busy::after{position:absolute;top:50%;left:50%;z-index:10;height:1rem;width:1rem;--tw-translate-x:-50%;content:var(--tw-content);--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{content:var(--tw-content);transform:rotate(360deg)}}.s-add-product-button-busy::after{animation:spin 1s linear infinite;border-radius:9999px;border-width:2px;border-style:solid;border-top-color:var(--color-primary);border-left-color:var(--color-primary);border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-border-opacity:1;border-right-color:rgb(243 244 246 / var(--tw-border-opacity, 1));--tw-content:\'\';content:var(--tw-content)}';const S=class{constructor(i){t(this,i),this.limit=3,this.recommendations=[],this.selectedIds=new Set,this.isLoading=!0,this.canRender=!0,this.isAdding=!1,this.title=salla.lang.get("pages.products.bought_together_title"),this.subtitle=salla.lang.get("pages.products.bought_together_subtitle"),this.buyTogetherFor=salla.lang.get("pages.products.buy_together_for"),this.resolvedProductId=0,this.listViewTracked=!1,salla.lang.onLoaded((()=>{this.title=salla.lang.get("pages.products.bought_together_title"),this.subtitle=salla.lang.get("pages.products.bought_together_subtitle"),this.buyTogetherFor=salla.lang.get("pages.products.buy_together_for")}))}componentWillLoad(){salla.onReady().then((()=>{if(!salla.config.get("store.settings.product.bought_together"))return void(this.canRender=!1);const t=salla.config.get("page.id");if(t)return this.resolvedProductId=t,l(String(t));this.canRender=!1})).then((t=>{if(!t?.length)return void(this.canRender=!1);const i=[String(this.resolvedProductId),...t.slice(0,this.limit)];return salla.product.fetch({source:"selected",source_value:i})})).then((t=>{if(!t)return;const i=t?.data??[];if(!i.length)return void(this.canRender=!1);const o=i.find((t=>String(t.id)===String(this.resolvedProductId))),e=i.filter((t=>String(t.id)!==String(this.resolvedProductId)));e.length?(this.recommendations=o?[o,...e]:e,this.selectedIds=new Set(this.recommendations.map((t=>t.id)))):this.canRender=!1})).catch((()=>{this.canRender=!1})).finally((()=>{this.isLoading=!1}))}componentDidRender(){!this.recommendations.length||this.listViewTracked||this.intersectionObserver||(this.intersectionObserver=new IntersectionObserver((t=>{t.some((t=>t.isIntersecting))&&(this.listViewTracked=!0,this.intersectionObserver?.disconnect(),this.intersectionObserver=void 0,this.emitListViewed())}),{threshold:.1}),this.intersectionObserver.observe(this.el))}disconnectedCallback(){this.intersectionObserver?.disconnect(),this.intersectionObserver=void 0}emitListViewed(){const t=this.recommendations.filter((t=>!this.isMainProduct(t.id)));salla.event.emit("salla-bought-together::list.viewed",{products:t})}isMainProduct(t){return String(t)===String(this.resolvedProductId)}recommendedPosition(t){const i=this.recommendations.filter((t=>!this.isMainProduct(t.id))).findIndex((i=>String(i.id)===String(t)));return-1===i?-1:i+1}emitProductClicked(t,i){salla.event.emit("salla-bought-together::product.clicked",[{product:t,position:i}])}toggleProduct(t){const i=new Set(this.selectedIds);i.has(t)?i.delete(t):i.add(t),this.selectedIds=i}get totalPrice(){const t=this.recommendations.filter((t=>this.selectedIds.has(t.id))).reduce(((t,i)=>t+(i.price??0)),0),i=salla.config.get("store.currency.decimals")??2,o=Math.pow(10,i);return salla.money(Math.round(t*o)/o)}async addSelectedToCart(){if(this.isAdding||!this.selectedIds.size)return;this.isAdding=!0;let t=!1;try{for(const i of Array.from(this.selectedIds))try{salla.cart?.api&&(salla.cart.api.addToCartSource="pdp_fbt");const t=await salla.cart.addItem({id:i,endpoint:"quickAdd",source:"pdp_fbt"}),o=this.recommendations.find((t=>t.id===i));if(o){const e=this.isMainProduct(i)?0:this.recommendedPosition(i),a=t?.data?.items?.find((t=>String(t.product_id)===String(o.id)))??t?.data?.items?.slice(-1)[0];salla.event.emit("salla-bought-together::product.added",[{product:o,position:e,cartItem:a,cartId:t?.data?.id}])}}catch(i){salla.log(i),t=!0}t&&salla.error(salla.lang.get("common.messages.error"))}finally{this.isAdding=!1}}getSkeletonView(){return o(e,{class:"s-bought-together-entry"},o("div",{class:"s-bought-together-skeleton"},o("div",{class:"s-bought-together-skeleton-header"},o("salla-skeleton",{height:"16px",width:"35%"}),o("salla-skeleton",{height:"10px",width:"60%"})),Array(4).fill(null).map(((t,i)=>o("div",{key:i,class:"s-bought-together-skeleton-item"},o("salla-skeleton",{height:"22px",width:"22px"}),o("salla-skeleton",{height:"48px",width:"48px"}),o("div",{class:"s-bought-together-skeleton-info"},o("salla-skeleton",{height:"12px",width:"55%",style:{marginBottom:"3px"}}),o("salla-skeleton",{height:"10px",width:"25%"}))))),o("salla-skeleton",{height:"44px",width:"100%"})))}render(){return this.canRender?this.isLoading?this.getSkeletonView():this.recommendations.length?o(e,{class:"s-bought-together-entry"},o("div",{class:"s-bought-together-header"},o("h3",{class:"s-bought-together-title"},this.title),o("p",{class:"s-bought-together-subtitle"},this.subtitle)),o("div",{class:"s-bought-together-list"},this.recommendations.map((t=>o("div",{key:t.id,class:"s-bought-together-item"+(this.selectedIds.has(t.id)?"":" s-bought-together-item--unchecked")},o("label",{class:"s-bought-together-checkbox-label"},o("input",{type:"checkbox",class:"s-bought-together-checkbox",checked:this.selectedIds.has(t.id),onChange:()=>this.toggleProduct(t.id)}),o("span",{class:"s-bought-together-checkmark"})),o("a",{class:"s-bought-together-item-link",href:t.url,onClick:()=>!this.isMainProduct(t.id)&&this.emitProductClicked(t,this.recommendedPosition(t.id))},o("img",{class:"s-bought-together-item-img",src:t.image?.url||salla.url.cdn("images/s-empty.png"),alt:t.image?.alt||t.name,loading:"lazy",decoding:"async",onError:t=>{t.currentTarget.onerror=null,t.currentTarget.src=salla.url.cdn("images/s-empty.png")}}),o("span",{class:"s-bought-together-item-name"},t.name)),o("span",{class:"s-bought-together-item-price",innerHTML:null!=t.price?salla.money(t.price):""}))))),o("salla-button",{class:"s-bought-together-btn",disabled:!this.selectedIds.size||this.isAdding,loading:this.isAdding,onClick:()=>this.addSelectedToCart()},o("span",{innerHTML:`${this.buyTogetherFor} ${this.totalPrice}`}))):null:null}get el(){return a(this)}};S.style='/*!twlt*/:host{display:block}.s-bought-together-checkbox:checked~.s-bought-together-checkmark{background-color:var(--color-primary, #2ECC71);border-color:var(--color-primary, #2ECC71)}.s-bought-together-checkbox:checked~.s-bought-together-checkmark::after{content:"";display:block;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}.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-bought-together-entry{margin-top:1.25rem;margin-bottom:1.25rem;display:block;border-radius:0.375rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1.25rem}.s-bought-together-header{margin-bottom:1rem}.s-bought-together-title{margin-bottom:0.25rem;font-size:1.125rem;line-height:1.75rem;font-weight:700;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-bought-together-subtitle{margin:0px;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-bought-together-list{margin-bottom:1rem;display:flex;flex-direction:column}.s-bought-together-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));--tw-divide-opacity:1;border-color:rgb(243 244 246 / var(--tw-divide-opacity, 1))}.s-bought-together-item{display:flex;align-items:center;gap:0.75rem;padding-top:0.75rem;padding-bottom:0.75rem;transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:200ms}.s-bought-together-item--unchecked{opacity:0.4}.s-bought-together-checkbox-label{position:relative;display:flex;flex-shrink:0;cursor:pointer;align-items:center}.s-bought-together-checkbox{position:absolute;height:0px;width:0px;opacity:0}.s-bought-together-checkmark{display:flex;height:22px;width:22px;flex-shrink:0;align-items:center;justify-content:center;border-radius:0.375rem;border-width:2px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-bought-together-item-link{display:contents;color:inherit;text-decoration-line:none}.s-bought-together-item-img{height:3rem;width:3rem;flex-shrink:0;border-radius:0.375rem;object-fit:cover}.s-bought-together-item-name{flex:1 1 0%;font-size:0.875rem;line-height:1.25rem;line-height:1.375}.s-bought-together-item-price{flex-shrink:0;white-space:nowrap;font-size:0.875rem;line-height:1.25rem;font-weight:600}.s-bought-together-btn{width:100%}.s-bought-together-skeleton{display:flex;flex-direction:column;gap:0.75rem}.s-bought-together-skeleton-header{margin-bottom:0.5rem;display:flex;flex-direction:column;gap:0.5rem}.s-bought-together-skeleton-item{display:flex;align-items:center;gap:0.75rem;padding-top:0.5rem;padding-bottom:0.5rem}.s-bought-together-skeleton-info{display:flex;flex:1 1 0%;flex-direction:column;gap:0.25rem}';const C=class{constructor(i){t(this,i),this.isUser=salla.config.isUser(),this.translationLoaded=!1,this.notifyOptionsAvailability=!1,this.isSubscribed=!1,this.handleSubmitOptions=async()=>{let t={id:this.productId};if(!this.notifyOptionsAvailability)return t;let i=document.querySelector(`salla-product-options[product-id="${this.productId}"]`),o=Object.values(await(i?.getSelectedOptionsData())||{});if(o.length&&!await(i?.reportValidity())){let t=salla.lang.get("common.messages.required_fields");throw salla.error(t),t}return t.options=[],o.forEach((i=>{i&&!isNaN(i)&&t.options.push(Number(i))})),t},this.typing=t=>{const i=t.target.nextElementSibling;t.target.classList.remove("s-has-error"),i?.classList.contains("s-product-availability-error-msg")&&(i.innerText=""),13===t.keyCode&&this.submit()},salla.lang.onLoaded((()=>{this.translationLoaded=!0,this.title_=this.host.title||salla.lang.get("pages.products.notify_availability_title"),this.modal?.setTitle(this.title_)})),this.productId||(this.productId=salla.config.get("page.id")),this.isUser||(this.channelsWatcher(this.channels),this.title_=this.host.title||salla.lang.get("pages.products.notify_availability_title"),this.host.removeAttribute("title"))}channelsWatcher(t){let i=t||salla.api.product.getAvailabilityChannels?.()||n.availabilityChannels();this.channels_=i?i.split(","):[]}get isSubscribedToProduct(){return this.isSubscribed||!this.notifyOptionsAvailability&&(!!salla.api.product.isSubscribedToAvailability?.(this.productId)||!!salla.storage.get(`product-${this.productId}-subscribed`))}openModel(){this.handleSubmitOptions().then((t=>t?this.modal.open():null))}async submit(){let t=await this.handleSubmitOptions();if(this.isUser)return salla.api.product.availabilitySubscribe(t).then((()=>this.isSubscribed=!0));if(this.channels_.includes("sms")||this.channels_.includes("whatsapp")){let{phone:i,countryCode:o}=await this.mobileInput.getValues();t.country_code=o,t.phone=i}return this.channels_.includes("email")&&""!==this.email.value&&(t.email=this.email.value),await this.validateform(),this.btn.load().then((()=>this.btn.disable())).then((()=>salla.api.product.availabilitySubscribe(t))).then((()=>{if(this.notifyOptionsAvailability){if(t.options.length){let i=salla.storage.get(`product-${this.productId}-subscribed-options`)||[],o=t.options.join(",");i.includes(o)?salla.log("already subscribed to this options"):(i.push(o),salla.storage.set(`product-${this.productId}-subscribed-options`,i),this.isSubscribed=!0)}}else this.isSubscribed=!0})).then((()=>this.btn.stop())).then((()=>this.modal.close())).catch((()=>this.btn.stop()&&this.btn.enable()))}async validateform(){try{if(this.channels_.includes("email")){const t=n.isValidEmail(this.email.value);if(t)return;!t&&this.validateField(this.email,salla.lang.get("common.elements.email_is_valid"))}if((this.channels_.includes("sms")||this.channels_.includes("whatsapp"))&&await this.mobileInput.isValid())return}catch(t){throw"Please insert required fields"}}validateField(t,i){t.classList.add("s-has-error"),t.nextElementSibling.innerText="* "+i}render(){return o(e,{key:"646195e9982d709d58b12eae7ee0649f85a76d93",class:"s-product-availability-wrap"},this.isSubscribedToProduct?o("div",{class:"s-product-availability-subscribed"},o("span",{innerHTML:p,class:"s-product-availability-subs-icon"}),salla.lang.get("pages.products.notify_availability_success")):o("salla-button",{width:"wide",onClick:()=>this.isUser?this.submit():this.openModel()},salla.lang.get("pages.products.notify_availability")),this.isUser||this.isSubscribedToProduct?"":this.renderModal())}renderModal(){return o("salla-modal",{ref:t=>this.modal=t,"modal-title":this.title_,subTitle:salla.lang.get("pages.products.notify_availability_subtitle"),width:"sm"},o("span",{slot:"icon",class:"s-product-availability-header-icon",innerHTML:p}),o("div",{class:"s-product-availability-body"},this.channels_.includes("email")?[o("label",{class:"s-product-availability-label"},salla.lang.get("common.elements.email")),o("input",{class:"s-product-availability-input",onKeyDown:t=>this.typing(t),placeholder:salla.lang.get("common.elements.email_placeholder")||"your@email.com",ref:t=>this.email=t,type:"email"}),o("span",{class:"s-product-availability-error-msg"})]:"",this.channels_.includes("sms")||this.channels_.includes("whatsapp")?[o("label",{class:"s-product-availability-label"},salla.lang.get("common.elements.mobile")),o("salla-tel-input",{ref:t=>this.mobileInput=t,onKeyDown:t=>this.typing(t)})]:""),o("div",{slot:"footer",class:"s-product-availability-footer"},o("salla-button",{class:"modal-cancel-btn",width:"wide",color:"light",fill:"outline",onClick:()=>this.modal.close()},salla.lang.get("common.elements.cancel")),o("salla-button",{class:"submit-btn","loader-position":"center",width:"wide",ref:t=>this.btn=t,onClick:()=>this.submit()},salla.lang.get("common.elements.submit"))))}get host(){return a(this)}static get watchers(){return{channels:["channelsWatcher"]}}};var P,I,O;C.style='/*!twlt*/.outline{outline-style:solid}.s-has-error{--tw-border-opacity:1;border-color:rgb(248 113 113 / var(--tw-border-opacity, 1))}.s-has-error:focus{--tw-border-opacity:1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.btn{display:inline-flex;flex:1 1 0%;align-items:center;justify-content:center;white-space:nowrap;border-radius:0.375rem;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:0.625rem;padding-top:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.btn:hover{opacity:0.8}.s-has-error{--tw-border-opacity:1 !important;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1)) !important;--tw-text-opacity:1 !important;color:rgb(239 68 68 / var(--tw-text-opacity, 1)) !important}.s-product-availability-wrap{width:100%}.s-product-availability-subscribed{display:flex;width:100%;align-items:center;justify-content:center;border-radius:0.375rem;--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));padding-left:1.5rem;padding-right:1.5rem;padding-top:0.75rem;padding-bottom:0.75rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.s-product-availability-subs-icon svg{margin-left:0.5rem;margin-right:0.5rem;width:1.25rem;fill:#22c55e}.s-product-availability-body{position:relative;z-index:50}.s-product-availability-header-icon{display:inline-flex;height:3rem;width:3rem;align-items:center;justify-content:center;border-radius:9999px;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}@media (min-width: 640px){.s-product-availability-header-icon{margin-left:auto;margin-right:auto;margin-bottom:1rem;height:5rem;width:5rem}}.s-product-availability-header-icon:where([dir="ltr"],[dir="ltr"] *){margin-right:0.5rem}@media (min-width: 640px){.s-product-availability-header-icon:where([dir="ltr"],[dir="ltr"] *){margin-right:0px}}.s-product-availability-header-icon:where([dir="rtl"],[dir="rtl"] *){margin-left:0.5rem}@media (min-width: 640px){.s-product-availability-header-icon:where([dir="rtl"],[dir="rtl"] *){margin-left:0px}}.s-product-availability-header-icon svg{height:1.25rem;width:1.25rem;flex-shrink:0;fill:#9ca3af}.s-product-availability-label{margin-bottom:0.625rem;display:block;font-size:0.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-product-availability-label:where([dir="ltr"],[dir="ltr"] *){text-align:left}.s-product-availability-label:where([dir="rtl"],[dir="rtl"] *){text-align:right}.s-product-availability-input{height:2.5rem;width:100%;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-left:0.75rem;padding-right:0.75rem;font-size:0.875rem;line-height:1.25rem;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-product-availability-input:focus{border-color:var(--color-primary)}.s-product-availability-input:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.s-product-availability-footer{margin-top:1rem;display:flex;justify-content:space-between}.s-product-availability-footer>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.s-product-availability-footer:where([dir="rtl"],[dir="rtl"] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.s-product-availability-footer-btn{width:100%}.s-product-availability-error-msg{display:block;height:1.75rem;padding-top:0.25rem;font-size:0.75rem;line-height:1rem;--tw-border-opacity:1;border-color:rgb(248 113 113 / var(--tw-border-opacity, 1))}.s-product-availability-error-msg:focus{--tw-border-opacity:1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.s-product-availability-error-msg{--tw-border-opacity:1 !important;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1)) !important;--tw-text-opacity:1 !important;color:rgb(239 68 68 / var(--tw-text-opacity, 1)) !important}',function(t){t[t.INIT=1]="INIT",t[t.IDLE=2]="IDLE",t[t.PROCESSING_QUEUED=9]="PROCESSING_QUEUED",t[t.PROCESSING=3]="PROCESSING",t[t.PROCESSING_COMPLETE=5]="PROCESSING_COMPLETE",t[t.PROCESSING_ERROR=6]="PROCESSING_ERROR",t[t.PROCESSING_REVERT_ERROR=10]="PROCESSING_REVERT_ERROR",t[t.LOADING=7]="LOADING",t[t.LOAD_ERROR=8]="LOAD_ERROR"}(P||(P={})),function(t){t[t.EMPTY=0]="EMPTY",t[t.IDLE=1]="IDLE",t[t.ERROR=2]="ERROR",t[t.BUSY=3]="BUSY",t[t.READY=4]="READY"}(I||(I={})),function(t){t[t.INPUT=1]="INPUT",t[t.LIMBO=2]="LIMBO",t[t.LOCAL=3]="LOCAL"}(O||(O={}));const q=class{constructor(e){if(t(this,e),this.changed=i(this,"changed"),this.fileTypes={pdf:"application/pdf",png:"image/png",jpg:"image/jpeg",word:"application/doc,application/ms-doc,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document",exl:"application/excel,application/vnd.ms-excel,application/x-excel,application/x-msexcel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",txt:"text/plain"},this.outOfStockText="",this.donationAmount=salla.lang.get("pages.products.donation_amount"),this.selectDonationAmount=salla.lang.getWithDefault("pages.products.select_donation_amount","تحديد مبلغ التبرع"),this.selectAmount=salla.lang.getWithDefault("pages.products.select_amount","اختر المبلغ"),this.isCustomDonation=!1,this.selectedOptions=[],this.canDisabled=!1,this.disableCardValue=!0,this.availableDigitalCardValues=[],this.userInitiatedValidation=!1,this.isCartMode=!1,this.availabilityMap={},this.productAvailable=!1,this.outSkus=[],this.ignoreDefaultCardValue=!1,this.productId=salla.config.get("page.id"),this.noPadding=!1,this.handleDonationOptions=(t,i,o)=>{if("custom"===i&&"input"===o){const i=t.target;return salla.helpers.inputDigitsOnly(i),salla.event.emit("product-options::donation-changed",{id:this.productId,price:i.value}),void i.dispatchEvent(new window.Event("change",{bubbles:!0}))}const e="option"===o?String(t.target?.value??""):"";if("option"===o&&"custom"===i&&(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation()),this.isCustomDonation="custom"===e,this.donationInput){if("custom"===e?(this.donationInput.value="",this.donationInput.focus()):this.donationInput.value=e,"custom"===i)return;salla.event.emit("product-options::donation-changed",{id:this.productId,price:e})}},this.hideLabel=t=>!(t.type!==c.DONATION||!t.donation||t.donation.can_donate),this.getExpireDonationMessage=t=>{if(!t.donation)return;const i=t.donation.target_amount<=t.donation.collected_amount;return o("div",{class:{"s-product-options-donation-message":!0,"s-product-options-donation-completed":i,"s-product-options-donation-expired":!i}},o("p",null,t.donation.target_message),o("span",{innerHTML:i?salla.money(t.donation.target_amount):""}))},salla.lang.onLoaded((()=>{this.outOfStockText=salla.lang.get("pages.products.out_of_stock"),this.donationAmount=salla.lang.get("pages.products.donation_amount"),this.selectDonationAmount=salla.lang.getWithDefault("pages.products.select_donation_amount","تحديد مبلغ التبرع"),this.selectAmount=salla.lang.getWithDefault("pages.products.select_amount","اختر المبلغ")})),this.options)try{return void this.setOptionsData(Array.isArray(this.options)?this.options:JSON.parse(this.options))}catch(t){salla.log("Bad json passed via options prop")}Array.isArray(this.optionsData)||(salla.log("Options is not an array[] ---\x3e ",this.optionsData),this.setOptionsData([])),this.productId&&!salla.url.is_page("cart")&&salla.api.product.getDetails(this.productId,["options"]).then((t=>{this.productAvailable=!t.data.is_out_of_stock,this.setOptionsData(t.data.options)}))}async setOptionsData(t){this.optionsData=t,this.outSkus=[],this.optionsData[0]?.details?.forEach((t=>{Object.entries(t.skus_availability||{}).filter((([,t])=>!t)).forEach((([t])=>this.outSkus.push(Number(t))))})),this.fillSelectedOptions(),this.computeAvailability()}async getOptionsData(){return this.optionsData}async getSelectedOptionsData(){const t={},i=this.host.getElementSallaData(),o=void 0!==this.bundleContext?this.bundleContext:null;return i.forEach(((i,e)=>{if(o){if(e.startsWith("bundle[")&&e.includes("[options][")){const o=e.split("[options][")[1].replace("]","");t[o]=i}}else e.startsWith("options[")&&(t[e.replace("options[","").replace("]","")]=i)})),t}async reportValidity(){const t=this.host.querySelectorAll("[required]");let i=!0;for(let o=0;o<t.length;o++){const e=t[o];if(e.disabled||e.closest(".hidden"))continue;const a=e.closest("salla-map");a&&"function"==typeof a.reportValidity?await a.reportValidity()||(i=!1):"reportValidity"in e&&!e.reportValidity()&&(i=!1)}return i}async hasOutOfStockOption(){return this.selectedOptions.some((t=>t.is_out))||this.selectedSkus?.length&&this.selectedSkus?.every((t=>this.outSkus.includes(t)))}async getSelectedOptions(){return this.selectedOptions}async getOption(t){return this.optionsData.find((i=>i.id===t))}invalidHandler(t,i){const o=t.target.closest(".s-product-options-option");o.classList.contains("s-product-options-option-error")||o.classList.add("s-product-options-option-error"),!this.userInitiatedValidation&&!salla.helpers.isIOSDevice()||salla.url.is_page("cart")||this.host.querySelector(".s-product-options-option-error")===o&&this.scrollToElement(o)}scrollToElement(t){t&&t.scrollIntoView({behavior:"smooth",block:"center"})}changedHandler(t,i,o=!0){const e={event:t,option:i,detail:null,productId:this.productId};if(i.details){const o=i.details.find((i=>Number(i.id)===Number(t.target.value)));e.detail=o}"country"===i.type&&this.handleCountryOptionChange(t,e.detail);const a=t.target.closest(".s-product-options-option");(t.target.value||(i.type===c.FILE||i.type===c.IMAGE)&&"added"===t.type||i.type===c.MAP&&"selected"===t.type&&Number.isFinite(Number(t.target.lat))&&Number.isFinite(Number(t.target.lng)))&&setTimeout((()=>{a.classList.remove("s-product-options-option-error")}),200),i.type===c.DONATION&&salla.event.emit("product-options::donation-changed",{id:this.productId,price:t.target.value}),this.setSelectedSkus(),this.handleRequiredMultipleOptions(i);const s=this.selectedOptions.findIndex((t=>t.option_id===e.option.id));if(e.option.type===c.MULTIPLE_OPTIONS){const t=this.selectedOptions.findIndex((t=>t.option_id===e.option.id&&t?.id===e.detail?.id));t>-1?this.selectedOptions.splice(t,1):this.selectedOptions.push({...e.detail,option_id:e.option.id})}else e.detail&&0!==Object.keys(e.detail).length?s>-1?this.selectedOptions[s]={...e.detail,option_id:e.option.id}:this.selectedOptions.push({...e.detail,option_id:e.option.id}):s>-1&&this.selectedOptions.splice(s,1);this.optionsData=this.optionsData.map((t=>t.id===e.option.id?{...t,details:t.details.map((t=>({...t,is_selected:e.option.type===c.MULTIPLE_OPTIONS?this.selectedOptions.some((i=>i.id===t.id)):Number(t.id)===Number(e.detail?.id),value:e.detail?.value})))}:t)),this.pruneInvisibleConditionalSelections(),this.setSelectedSkus(),requestAnimationFrame((()=>{this.optionsData?.filter((t=>t.type===c.MULTIPLE_OPTIONS&&t.required)).forEach((t=>this.handleRequiredMultipleOptions(t)))})),o&&(this.changed.emit(e),salla.event.emit("product-options::change",e))}setSelectedSkus(){this.selectedSkus=this.selectedOptions.map((t=>Object.keys(t.skus_availability||{}))).reduce(((t,i)=>t.filter((t=>i.includes(t)))),[]).map((t=>Number(t))),this.computeAvailability()}handleRequiredMultipleOptions(t){if(t.type!==c.MULTIPLE_OPTIONS||!t.required)return;const i=this.host.querySelector(`[data-option-id="${t.id}"]`);if(!i)return;const o=i.querySelectorAll("input:checked").length;i.querySelectorAll("input").forEach((t=>t.toggleAttribute("required",!o)))}pruneInvisibleConditionalSelections(){const t=Math.max(1,this.optionsData.length);for(let i=0;i<t;i++){let t=!1;for(const i of this.optionsData){const o=i.visibility_condition;if(!o)continue;const e=this.selectedOptions.filter((t=>t.option_id===o.option)).map((t=>String(t.id))).includes(String(o.value));("="===o.operator?e:!e)||this.clearStaleOption(i.id)&&(t=!0)}if(!t)break}}clearStaleOption(t){const i=this.optionsData.find((i=>i.id===t));if(!i)return!1;const o=this.selectedOptions.length;this.selectedOptions=this.selectedOptions.filter((i=>i.option_id!==t));const e=this.selectedOptions.length!==o,a=null!=i.value&&String(i.value).length>0,s=i.details?.some((t=>t.is_selected))??!1;return!!(e||a||s)&&(this.optionsData=this.optionsData.map((i=>i.id!==t?i:{...i,value:void 0,details:i.details?.map((t=>({...t,is_selected:!1})))??i.details})),!0)}getLatLng(t,i){if("string"!=typeof t||!t.trim())return;const o=t.split(",")["lat"===i?0:1];if(null==o)return;const e=o.trim();if(""===e)return;const a=Number(e);return Number.isFinite(a)?a:void 0}getDisplayForType(t){return this[`${t.type}Option`]?this[`${t.type}Option`](t):t.type===c.COLOR_PICKER?this.colorPickerOption(t):t.type===c.MULTIPLE_OPTIONS?this.multipleOptions(t):t.type===c.SINGLE_OPTION?this.singleOption(t):t.type===c.RADIO?this.radioOption(t):t.type===c.DIGITAL_CARD_VALUE?this.digitalCardValuesOption(t):t.type===c.COUNTRY?this.countryOption(t):t.type===c.BOOKING&&salla.url.is_page("cart")?o("salla-booking-field",{onInvalidInput:i=>this.invalidHandler(i,t),option:t,productId:t.value}):(salla.log(`Couldn't find options type(${t.type})😢`),"")}getOptionShownWhen(t){return t.visibility_condition?{"data-show-when":`options[${t.visibility_condition.option}] ${t.visibility_condition.operator} ${t.visibility_condition.value}`}:{}}getAvailableDigitalCardSKUs(t){const i=this.optionsData.find((({type:t})=>"digital-code-value"===t));if(!i)throw new Error("product-options:: No digital card options found");const o=Object.keys(t.skus_availability).filter((i=>!1===t.skus_availability[i]));this.availableDigitalCardValues=i.details.filter((t=>!Object.keys(t.skus_availability).filter((t=>o.includes(t))).length))}handleCountryOptionChange(t,i){t.stopImmediatePropagation(),this.ignoreDefaultCardValue=!0;const o=this.host.querySelector("input[data-code-value]:checked");if(o&&(o.checked=!1),!this.optionsData.find((({type:t})=>"digital-code-value"===t)))throw new Error("product-options:: No digital card options found");this.getAvailableDigitalCardSKUs(i)}getSelectedDigitalCardOptions(t){const i=t.details.find((t=>t.is_selected)),o=t.details.find((t=>!!t.is_default))||t.details[0];if(["digital-code-value","country"].includes(t.type))return i||o}async componentWillLoad(){if(salla.url.is_page("cart")&&(this.disableCardValue=!1,this.fillSelectedOptions()),this.config)try{this.optionConfig="string"==typeof this.config?JSON.parse(this.config):this.config}catch(t){console.error("Failed to parse JSON in config prop:",t)}if(this.optionsData.filter((({type:t})=>["country","digital-card-value"].includes(t))).length>0&&salla.url.is_page("cart")){const t=this.optionsData.find((t=>"country"===t.type)),i=t&&this.getSelectedDigitalCardOptions(t);i&&this.getAvailableDigitalCardSKUs(i)}return this.outOfStockText=salla.lang.get("pages.products.out_of_stock"),this.computeAvailability(),await salla.onReady(),this.canDisabled=!salla.config.get("store.settings.product.notify_options_availability")||salla.url.is_page("cart"),this.pasteHandler=this.handlePaste.bind(this),document.addEventListener("paste",this.pasteHandler),!salla.storage.get("cart.id")&&this.optionsData.some((t=>["file","image"].includes(t.type)))?salla.api.cart.getCurrentCartId(!1,"salla-product-options"):null}disconnectedCallback(){this.pasteHandler&&document.removeEventListener("paste",this.pasteHandler)}handlePaste(t){const i=t.target;if(!(Salla.helpers.isAppleDevice()&&(i instanceof HTMLInputElement||i instanceof HTMLTextAreaElement)&&i.classList.contains("s-form-control")&&this.host.contains(i)))return;t.preventDefault();const o=t.clipboardData?.getData("text")||"",e=i.selectionStart,a=i.selectionEnd,s=i.value.slice(0,e)+o+i.value.slice(a);i.value=s,i.setSelectionRange(e+o.length,e+o.length);try{i.dispatchEvent(new window.Event("change",{bubbles:!0}))}catch(t){Salla.log("Error on change")}}hideDigitalCardsOptions(t){return this.disableCardValue&&t.type===c.DIGITAL_CARD_VALUE&&!salla.url.is_page("cart")}render(){if(0!==this.optionsData?.length)return o(e,{class:{"s-product-options-wrapper":!0,"s-product-options-no-padding":this.noPadding}},o("salla-conditional-fields",null,this.optionsData.map((t=>o("div",{key:t.id,class:"s-product-options-option-container"+(t.visibility_condition||this.hideDigitalCardsOptions(t)?" hidden":""),"data-option-id":t.id,...this.getOptionShownWhen(t)},"splitter"===t.name?this.splitterOption():o("div",{class:{"s-product-options-option":!0,"s-product-options-option-booking":t.type===c.BOOKING&&salla.url.is_page("cart")},"data-option-type":t.type,"data-option-required":`${t.required}`},o("label",{htmlFor:this.generateInputId(t.id),class:"s-product-options-option-label "+(this.hideLabel(t)?"s-product-options-option-label-hidden":"")},o("b",null,t.name,t.required&&o("span",null," * ")," "),o("small",null,t.placeholder)),o("div",{class:"s-product-options-option-content "+(this.hideLabel(t)||t.type===c.BOOKING&&salla.url.is_page("cart")?"s-product-options-option-content-full-width":"")},this.getDisplayForType(t))))))))}generateUniqueKey(t){const i=this.bundleContext;let o=this.uniqueKey?`${t}-${this.uniqueKey}`:t;if(i)try{const t="string"==typeof i?JSON.parse(i):i,{sectionId:e,productId:a}=t;o=`${o}-bundle-${e}-${a}`}catch(t){}return o}generateInputId(t){return this.generateUniqueKey(`option-${t}`)}generateInputName(t){const i=this.bundleContext,o=t.toString();if(i)try{const t="string"==typeof i?JSON.parse(i):i,{sectionId:e,productId:a}=t;return`bundle[${e}][${a}][options][${o}]`}catch(t){return`options[${o}]`}return`options[${o}]`}fillSelectedOptions(){this.selectedOptions=this.optionsData.reduce(((t,i)=>{const o=(i.details??[]).filter((t=>t.is_selected)).map((t=>({...t,option_id:i.id})));return t.concat(o)}),[])}async seedSelectedOptions(){this.fillSelectedOptions(),requestAnimationFrame((()=>{this.optionsData?.filter((t=>t.type===c.MULTIPLE_OPTIONS&&t.required)).forEach((t=>this.handleRequiredMultipleOptions(t)))}))}async componentDidLoad(){if(!this.optionsData?.length)return;await Salla.hooks.registerComponent("salla-product-options",this);const t=this.optionsData.find((t=>t.type===c.DONATION))?.details?.find((t=>t.is_selected));if(t&&setTimeout((()=>{salla.event.emit("product-options::donation-changed",{id:this.productId,price:t.additional_price})}),1e3),!salla.url.is_page("cart")&&!this.isCartMode){const t=[c.SINGLE_OPTION,c.MULTIPLE_OPTIONS,c.COLOR,c.THUMBNAIL,c.DONATION,c.DIGITAL_CARD_VALUE,c.COUNTRY];this.optionsData.some((i=>t.includes(i.type)&&i.details?.some((t=>t.is_selected))))&&requestAnimationFrame((()=>{try{const t=this.host.closest("form");if(!t)return;const i=new FormData(t),o=i.get("id")||i.get("product_id");if(o&&String(o)!==String(this.productId))return;salla.product.getPrice(i)}catch(t){salla.log("Error updating price for pre-selected options:",t)}}))}}async enterCartMode(){this.isCartMode=!0,this.disableCardValue=!1,this.canDisabled=!0,this.fillSelectedOptions(),this.computeAvailability()}async enableUserInitiatedValidation(){this.userInitiatedValidation=!0}async validateAndScroll(){return await this.enableUserInitiatedValidation(),this.reportValidity()}donationOption(t,i){return o("div",{class:"s-product-options-donation-wrapper"},t.donation?.can_donate?[t.donation?o("div",{key:t.id,class:"s-product-options-donation-progress"},o("salla-progress-bar",{donation:t.donation})):"",t.details.length?[o("h4",{key:t.id},this.selectAmount),o("div",{key:t.id,class:"s-product-options-donation-options"},t.details.map(((i,e)=>o("div",{key:t.id,class:"s-product-options-donation-options-item"},o("input",{id:this.generateUniqueKey(`donation-option-${e}`),type:"radio",name:"donating_option",checked:i.is_selected,value:i.additional_price,onChange:o=>this.handleDonationOptions(o,i,"option",t)}),o("label",{htmlFor:this.generateUniqueKey(`donation-option-${e}`)},o("span",{innerHTML:salla.money(i.name)}))))),t.donation?.custom_amount_enabled?o("div",{class:"s-product-options-donation-options-item"},o("input",{id:this.generateUniqueKey("donation-option-custom"),type:"radio",name:"donating_option",value:"custom",onChange:i=>this.handleDonationOptions(i,"custom","option",t)}),o("label",{htmlFor:this.generateUniqueKey("donation-option-custom")},o("span",null," ",this.selectDonationAmount," "))):"")]:"",o("div",{key:t.id,class:{"s-product-options-donation-input-group":!0,shown:!t.details.length||t.details.length&&this.isCustomDonation}},o("input",{type:"text",id:"donating-amount",name:"donation_amount",class:"s-form-control",ref:t=>{this.donationInput=t},value:t.details.length&&t.details.some((t=>t.is_selected))?t.details.find((t=>t.is_selected)).additional_price:t.value,placeholder:t.placeholder,onInput:i=>this.handleDonationOptions(i,"custom","input",t),onBlur:i=>this.changedHandler(i,t),onInvalid:i=>this.invalidHandler(i,t)}),o("span",{class:"s-product-options-donation-amount-currency"},salla.config.currency(salla.config.get("user.currency_code")).symbol))]:this.getExpireDonationMessage(t))}fileUploader(t,i=null){return o("salla-file-upload",{...i||{},"payload-name":"file",value:t.value,"instant-upload":!0,name:this.generateInputName(t.id),required:!t.visibility_condition&&t.required,height:"120px",onAdded:i=>{this.changedHandler(i,t,!(i.detail?.file?.origin===O.LOCAL))},url:salla.cart.api.getUploadImageEndpoint(),"form-data":{cart_item_id:this.productId,product_id:this.productId},onInvalidInput:i=>this.invalidHandler(i,t),class:{"s-product-options-image-input":!0,required:t.required}},o("div",{class:"s-product-options-filepond-placeholder"},o("span",{class:"s-product-options-filepond-placeholder-icon",innerHTML:i.accept?.split(",").every((t=>t.includes("image")))?u:'\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>file-upload</title>\n<path d="M21.333 24c0.341 0 0.683-0.131 0.943-0.391 0.521-0.521 0.521-1.364 0-1.885l-5.333-5.333c-0.123-0.123-0.271-0.22-0.433-0.288-0.327-0.135-0.693-0.135-1.019 0-0.163 0.068-0.311 0.165-0.433 0.288l-5.333 5.333c-0.521 0.521-0.521 1.364 0 1.885s1.364 0.521 1.885 0l3.057-3.057v10.115c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-10.115l3.057 3.057c0.26 0.26 0.601 0.391 0.943 0.391zM28.943 9.724l-9.333-9.333c-0.249-0.251-0.589-0.391-0.943-0.391h-12c-2.205 0-4 1.795-4 4v24c0 2.205 1.795 4 4 4h4c0.736 0 1.333-0.597 1.333-1.333s-0.597-1.333-1.333-1.333h-4c-0.735 0-1.333-0.599-1.333-1.333v-24c0-0.735 0.599-1.333 1.333-1.333h11.448l8.552 8.552v16.781c0 0.735-0.599 1.333-1.333 1.333h-4c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333h4c2.205 0 4-1.795 4-4v-17.333c0-0.353-0.14-0.693-0.391-0.943z"></path>\n</svg>\n'}),o("p",{class:"s-product-options-filepond-placeholder-text"},salla.lang.get("common.uploader.drag_and_drop")),o("span",{class:"filepond--label-action"},salla.lang.get("common.uploader.browse"))))}imageOption(t){return this.fileUploader(t,{accept:"image/png,image/jpeg,image/jpg,image/gif"})}fileOption(t){const i=t.details.map((t=>this.fileTypes[t.name])).filter(Boolean);return i?.length?this.fileUploader(t,{accept:i.join(",")}):"File types not selected."}numberOption(t){return o("input",{type:"text",value:t.value,class:"s-form-control",required:!t.visibility_condition&&t.required,id:this.generateInputId(t.id),name:this.generateInputName(t.id),placeholder:t.placeholder,onBlur:i=>this.changedHandler(i,t),onInvalid:i=>this.invalidHandler(i,t),onInput:t=>salla.helpers.inputDigitsOnly(t.target)})}splitterOption(){return o("div",{class:"s-product-options-splitter"})}textOption(t){return o("div",{class:"s-product-options-text"},o("input",{type:"text",value:t.value,maxLength:t?.length,class:"s-form-control",required:!t.visibility_condition&&t.required,id:this.generateInputId(t.id),name:this.generateInputName(t.id),placeholder:t.placeholder,onInvalid:i=>this.invalidHandler(i,t),onChange:i=>this.changedHandler(i,t)}))}textareaOption(t){return o("div",{class:"s-product-options-textarea"},o("div",{class:"mt-1"},o("textarea",{rows:4,value:t.value,maxLength:t?.length,class:"s-form-control",required:!t.visibility_condition&&t.required,id:this.generateInputId(t.id),name:this.generateInputName(t.id),placeholder:t.placeholder,onInvalid:i=>this.invalidHandler(i,t),onChange:i=>this.changedHandler(i,t)})))}mapOption(t){return o("salla-map",{zoom:15,lat:this.getLatLng(t.value,"lat"),lng:this.getLatLng(t.value,"lng"),name:this.generateInputName(t.id),searchable:!0,required:!t.visibility_condition&&t.required,onInvalidInput:i=>this.invalidHandler(i,t),onSelected:i=>this.changedHandler(i,t)})}colorPickerOption(t){return o("salla-color-picker",{onSubmitted:i=>this.changedHandler(i,t),name:this.generateInputName(t.id),required:!t.visibility_condition&&t.required,onInvalidInput:i=>this.invalidHandler(i,t),color:t.value})}timeOption(t){return o("salla-datetime-picker",{noCalendar:!0,enableTime:!0,dateFormat:"h:i K",value:t.value,placeholder:t.name,required:!t.visibility_condition&&t.required,name:this.generateInputName(t.id),class:"s-product-options-time-element",onInvalidInput:i=>this.invalidHandler(i,t),onPicked:i=>this.changedHandler(i,t)})}dateOption(t){return o("div",{class:"s-product-options-date-element"},o("salla-datetime-picker",{value:t.value,placeholder:t.name,required:!t.visibility_condition&&t.required,minDate:new Date,name:this.generateInputName(t.id),onInvalidInput:i=>this.invalidHandler(i,t),onPicked:i=>this.changedHandler(i,t)}))}datetimeOption(t){return o("div",{class:"s-product-options-datetime-element"},o("salla-datetime-picker",{enableTime:!0,value:t.value,dateFormat:"Y-m-d G:i:K",placeholder:t.name,required:!t.visibility_condition&&t.required,name:this.generateInputName(t.id),maxDate:t.to_date_time,minDate:t.from_date_time,onInvalidInput:i=>this.invalidHandler(i,t),onPicked:i=>this.changedHandler(i,t)}))}getOptionDetailName(t,i=!0,o,e){let a;if(o&&o===c.COLOR&&(a=t.name+(i&&this.isOptionDetailOut(t)&&!salla.url.is_page("cart")&&!this.hideOutLabel?` <br/> <p> ${this.outOfStockText} </p>`:"")+(t.additional_price?` <p> (${salla.money(t.additional_price,!1)}) </p>`:"")),!a){const o=(i&&this.isOptionDetailOut(t)&&!salla.url.is_page("cart")&&!this.hideOutLabel?` - ${this.outOfStockText}`:"")+(t.additional_price?` (${salla.money(t.additional_price,!1)})`:"");if("price"===e){const i=t.name.replace(/<[^>]*>/g,""),e=salla.helpers.digitsOnly(i),a=Number(e);return e&&Number.isFinite(a)?salla.money(a,!0)+o:o}a=t.name+o}return a.replace("<i class=sicon-sar></i>",salla.config.currency()?.symbol||"ر.س")}computeAvailability(){this.availabilityMap=function(t,i,o=!0){const e={};if(!t?.length)return e;const a=t.filter((t=>t.details?.some((t=>t.skus_availability&&Object.keys(t.skus_availability).length>0)))),s=a.length<=1,r=new Set(t.filter((t=>!1===t.is_advance)).map((t=>t.id)));if(0===a.length){for(const i of t)for(const t of i.details)e[t.id]=t.is_out?"out_of_stock":"available";return e}const n=a.some((t=>t.details?.some((t=>t.skus_availability&&Object.values(t.skus_availability).some(Boolean))))),l=o&&!n;for(const t of a){const o=i.filter((i=>i.option_id!==t.id));for(const i of t.details){const t=i.skus_availability;if(!t||!Object.keys(t).length){e[i.id]=i.is_out?"out_of_stock":"available";continue}const a=Object.keys(t).map(Number),n=a.some((i=>t[i]));if(s||0===o.length){e[i.id]=!n&&l||n?"available":"out_of_stock";continue}let p=a;for(const t of o){if(r.has(t.option_id))continue;const i=new Set(Object.keys(t.skus_availability||{}).map(Number));p=p.filter((t=>i.has(t)))}if(!p.length){e[i.id]=l?"available":"impossible";continue}const c=p.some((i=>t[i]));e[i.id]=!c&&l||c?"available":"out_of_stock"}}return e}(this.optionsData||[],this.selectedOptions||[],this.productAvailable)}isOptionDetailOut(t){const i=this.availabilityMap[t.id];return void 0!==i?"available"!==i:!!t.is_out}renderInput(t,i,e,a,s,r){const n=this.generateUniqueKey(`${t}-${e.id}-${i.id}`),l=this.isOptionDetailOut(i),p=this.getOptionDetailName(i,!0,e.type,e.format),c={"s-product-options-grid-mode-span":r,"s-product-options-disabled":this.canDisabled&&l};return o("label",{class:{"s-product-options-disabled":this.canDisabled&&l,"s-product-options-option-stock-out":l}},o("input",{id:n,type:t,name:s,value:i.id,disabled:this.canDisabled&&l,required:a,checked:i.is_selected,onInvalid:t=>this.invalidHandler(t,e),onChange:t=>this.changedHandler(t,e)}),"price"===e.format?o("div",{class:c,innerHTML:p}):o("div",{class:c},p))}renderOptionDetails(t,i,o,e=!1){const a=this.generateInputName(i.id),s="radio"===t?a:`${a}[]`;return i?.details.map((a=>this.renderInput(t,a,i,o,s,e)))}renderSelect(t){return o("div",null,o("select",{id:this.generateInputId(t.id),name:this.generateInputName(t.id),required:!t.visibility_condition&&t.required,class:"s-form-control",onInvalid:i=>this.invalidHandler(i,t),onChange:i=>this.changedHandler(i,t)},o("option",{value:""},t.placeholder),t?.details.map((t=>o("option",{key:t.id,value:t.id,disabled:this.canDisabled&&this.isOptionDetailOut(t),selected:t.is_selected},this.getOptionDetailName(t))))))}renderButtonStyle(t,i,e){return o("div",{class:"s-product-options-grid-mode"},this.renderOptionDetails(t,i,e,!0))}singleOption(t){return"button"===this.optionConfig?.["single-option"]?.type||t.type===c.SINGLE_OPTION&&"price"===t.format?this.renderButtonStyle("radio",t,!t.visibility_condition&&t.required):this.renderSelect(t)}multipleOptions(t){const i="button"===this.optionConfig?.["multiple-option"]?.type,e=t.required&&!t.details.some((t=>t.is_selected))&&!t.visibility_condition;return i?this.renderButtonStyle("checkbox",t,e):o("div",{class:{"s-product-options-multiple-options-wrapper":!0,required:t.required}},this.renderOptionDetails("checkbox",t,e))}radioOption(t){return this.singleOption(t)}colorOption(t){return o("fieldset",{class:"s-product-options-colors-wrapper"},t?.details.map((i=>{const e=this.isOptionDetailOut(i);return o("div",{class:{"s-product-options-colors-item":!0,"s-product-options-option-stock-out":e},key:i.id},o("input",{type:"radio",value:i.id,required:!t.visibility_condition&&t.required,checked:i.is_selected,name:this.generateInputName(t.id),disabled:this.canDisabled&&e,id:this.generateUniqueKey(`color-${this.productId}-${t.id}-${i.id}`),onInvalid:i=>this.invalidHandler(i,t),onChange:i=>this.changedHandler(i,t),"data-img-id":i.option_value}),o("label",{htmlFor:this.generateUniqueKey(`color-${this.productId}-${t.id}-${i.id}`),"data-img-id":i.option_value},o("span",{style:{backgroundColor:i.color}}),o("div",{innerHTML:this.getOptionDetailName(i,!0,t.type)})))})))}thumbnailOption(t){return o("div",{class:"s-product-options-thumbnails-wrapper"},t.details.map((i=>{const e=this.isOptionDetailOut(i);return o("div",{key:i.id,class:{"s-product-options-option-stock-out":e}},o("input",{type:"radio",value:i.id,"data-itemid":i.id,required:!t.visibility_condition&&t.required,checked:i.is_selected,name:this.generateInputName(t.id),"data-img-id":i.option_value,disabled:this.canDisabled&&e,id:this.generateUniqueKey(`option_${this.productId}-${t.id}_${i.id}`),onInvalid:i=>this.invalidHandler(i,t),onChange:i=>this.changedHandler(i,t)}),o("label",{htmlFor:this.generateUniqueKey(`option_${this.productId}-${t.id}_${i.id}`),"data-img-id":i.option_value,class:"go-to-slide"},o("img",{"data-src":i.image,src:i.image,title:i.name,alt:i.name}),o("span",{innerHTML:d,class:"s-product-options-thumbnails-icon"}),e?[o("small",{key:`badge-${i.id}`,class:"s-product-options-thumbnails-stock-badge"},this.outOfStockText),this.canDisabled?o("div",{key:`overlay-${i.id}`,class:"s-product-options-thumbnails-badge-overlay"}):""]:""),o("p",null,this.getOptionDetailName(i,!1)," "))})))}digitalCardValuesOption(t){return o("div",{class:"s-product-options-digital-card-wrapper"},this.availableDigitalCardValues.length>0?this.availableDigitalCardValues.map((i=>{const e=String(i.id);return o("label",{htmlFor:this.generateUniqueKey(e.toString()),key:e,class:"s-product-options-digital-card-option"},o("input",{type:"radio","data-code-value":!0,class:"s-form-control s-product-options-digital-card-input",value:i.id,name:this.generateInputName(t.id),id:this.generateUniqueKey(e.toString()),required:!t.visibility_condition&&t.required,onInvalid:i=>this.invalidHandler(i,t),...this.ignoreDefaultCardValue?{}:{defaultChecked:this.getSelectedDigitalCardOptions(t)?.id===i.id}}),o("span",null,i.name," ",salla.config?.currency()?.symbol))})):o("div",{class:"s-product-options-digital-card-out-of-stock"}))}countryOption(t){return o("div",{class:"s-product-options-digital-card-wrapper"},t.details.map((i=>{const e=this.isOptionDetailOut(i);return o("label",{htmlFor:this.generateUniqueKey(i.id.toString()),key:i.id,class:{"s-product-options-digital-card-option":!0,"s-product-options-digital-card-option-stock-out":e,"s-product-options-option-stock-out":e}},o("input",{id:this.generateUniqueKey(i.id.toString()),type:"radio",class:"s-form-control s-product-options-digital-card-input",value:i.id,name:this.generateInputName(t.id),disabled:this.canDisabled&&e,required:!t.visibility_condition&&t.required,onInvalid:i=>this.invalidHandler(i,t),onChange:i=>this.changedHandler(i,t),onClick:()=>{this.disableCardValue=!1},...salla.url.is_page("cart")?{defaultChecked:this.getSelectedDigitalCardOptions(t)?.id===i.id}:{}}),o("img",{loading:"lazy",alt:i.code,height:24,width:24,class:"s-product-options-country-flag",src:`https://cdn.assets.salla.network/prod/admin/cp/assets/flags/1x1/${String(i.code).toLocaleLowerCase()}.svg`,onError:t=>{t.currentTarget.onerror=null,t.currentTarget.src=salla.url.cdn("images/globe.svg")}}),o("span",null,i.name))})))}get host(){return a(this)}};function z(){s.defaults.headers.common.currency=salla?.config?.get?.("user.currency_code")}q.style='/*!twlt*/.mt-1{margin-top:0.25rem}.block{display:block}.inline{display:inline}.grid{display:grid}.hidden{display:none}.rounded{border-radius:var(--s-radius, 0.25rem)}.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)}.has-error .s-form-control,.has-error .s-tel-input-control,.has-error .s-datetime-picker-input{border-color:#ff443a;color:#ff443a}.s-form-control{display:block;width:100%;border-radius:var(--s-radius, 0.25rem);border-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.5rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.s-form-control:focus{border-color:var(--color-primary);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.s-product-options-wrapper{margin-bottom:1.25rem;display:block;border-radius:0.375rem;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1.25rem}.s-product-options-no-padding{padding:0px !important}.s-product-options-option-container{margin-bottom:1.25rem}.s-product-options-option-container:last-child{margin-bottom:0px}.s-product-options-option{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}@media (min-width: 640px){.s-product-options-option{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));align-items:flex-start;gap:1rem}}.s-product-options-option-error .s-product-options-option-label{--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.s-product-options-option-content{margin-top:0.25rem;min-width:0px;overflow:auto;overflow-wrap:break-word}@media (min-width: 640px){.s-product-options-option-content{grid-column:span 2 / span 2;margin-top:0px}.s-product-options-option-content-full-width{grid-column:span 3 / span 3}}.s-product-options-option-label{margin-bottom:0.625rem;display:block;font-size:0.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.s-product-options-option-label{margin-top:1px}}@media (min-width: 768px){.s-product-options-option-label{margin-bottom:0px}}.s-product-options-option-label-hidden{display:none !important}.s-product-options-donation-message{display:flex;align-items:center;justify-content:space-between}.s-product-options-donation-message p{font-size:1rem;line-height:1.5rem;font-weight:600;--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.s-product-options-donation-message span{font-size:1rem;line-height:1.5rem;font-weight:600;--tw-text-opacity:1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.s-product-options-option-label b{display:block}.s-product-options-option-label b span{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-product-options-option-label small{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-product-options-colors-wrapper .s-product-options-colors-item{margin-right:2rem;margin-bottom:1.25rem;display:inline-block;width:2.5rem;white-space:nowrap;text-align:center}.s-product-options-colors-wrapper .s-product-options-colors-item:where([dir="rtl"],[dir="rtl"] *){margin-right:0px;margin-left:2rem}.s-product-options-colors-wrapper input[type=radio]{pointer-events:none;position:absolute;opacity:0}.s-product-options-colors-wrapper input[type=radio]+label{display:flex;cursor:pointer;flex-direction:column;align-items:center}.s-product-options-colors-wrapper input[type=radio]+label div{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-product-options-colors-wrapper input[type=radio]+label div p{font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-product-options-colors-wrapper input[type=radio]+label span{margin-bottom:0.5rem;display:inline-flex;height:30px;width:30px;cursor:pointer;align-items:center;justify-content:center;border-radius:0.375rem;border-radius:9999px;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(156 163 175 / var(--tw-bg-opacity, 1));background-position:center;background-repeat:no-repeat;text-align:center;line-height:2.5rem;--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.s-product-options-colors-wrapper input[type=radio]+label span:after{height:14px;width:14px;--tw-scale-x:.5;--tw-scale-y:.5;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1));opacity:0;transition-property:all;transition-duration:300ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);--tw-content:\'\';content:var(--tw-content)}.s-product-options-colors-wrapper input[type=radio]:checked+label span:after{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:1}.s-product-options-colors-wrapper input[type=radio]:disabled+label{opacity:0.4}.s-product-options-field-required{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-product-options-donation-progress{margin-bottom:0.625rem;width:100%}.s-product-options-donation-progress-target-text{margin-bottom:0.375rem;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-product-options-donation-progress-amount{margin-bottom:0.625rem;display:flex;justify-content:space-between;font-size:0.875rem;line-height:1.25rem}.s-product-options-donation-progress-wrapper{height:1rem;width:100%;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.s-product-options-donation-progress-wrapper:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.s-product-options-donation-progress-bar{position:relative;display:flex;height:1rem;justify-content:flex-end;border-radius:9999px;background-color:var(--color-primary);transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:500ms}.s-product-options-donation-progress-target-data{margin-top:0.625rem;margin-bottom:0.625rem;display:block;font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-product-options-donation-progress-target-message{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.s-product-options-donation-wrapper{position:relative;margin-top:1.25rem;margin-bottom:0.625rem;align-items:center;justify-content:space-between;border-top-width:1px;--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1));padding-top:1.25rem}.s-product-options-donation-wrapper:only-child{margin-top:0px;border-style:none;padding-top:0px}@media (min-width: 640px){.s-product-options-donation-wrapper{margin-bottom:0px}}.s-product-options-donation-wrapper h4{margin-top:1.25rem;margin-bottom:0.75rem;font-weight:700}.s-product-options-donation-amount-label{margin-bottom:0.625rem;display:block;flex:1 1 0%;font-size:0.875rem;line-height:1.25rem}.s-product-options-donation-amount-input-container{position:relative;flex:1 1 0%}.s-product-options-donation-amount-input{margin-bottom:0.625rem;display:block;height:3rem;width:100%;border-radius:0.375rem;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));padding-left:0.625rem;padding-right:0.625rem;--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-product-options-donation-amount-input:focus{--tw-border-opacity:1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1));--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241 / var(--tw-ring-opacity, 1))}@media (min-width: 640px){.s-product-options-donation-amount-input{font-size:0.875rem;line-height:1.25rem}}.s-product-options-donation-amount-curruncy{position:absolute;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-product-options-multiple-options-wrapper{flex-wrap:wrap;align-items:center}@media (min-width: 768px){.s-product-options-multiple-options-wrapper{display:flex}}.s-product-options-multiple-options-wrapper label{position:relative;margin-bottom:1rem;display:flex;align-items:center;gap:0.75rem}@media (min-width: 768px){.s-product-options-multiple-options-wrapper label{width:50%}}.s-product-options-multiple-options-wrapper input{height:1.5rem;width:1.5rem;cursor:pointer;border-radius:0.375rem;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));color:var(--color-primary)}.s-product-options-multiple-options-wrapper input:focus{--tw-ring-color:transparent}.s-product-options-multiple-options-wrapper span{margin-left:0.5rem;cursor:pointer;padding-right:0.75rem;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-product-options-multiple-options-wrapper span:where([dir="rtl"],[dir="rtl"] *){margin-left:0px;margin-right:0.5rem;padding-right:0px;padding-left:0.75rem}.s-product-options-splitter{border-width:2px;border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.s-product-options-thumbnails-wrapper{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:0.75rem}.s-product-options-thumbnails-wrapper label{margin-bottom:0.125rem;display:inline-block;height:6rem;width:100%;cursor:pointer;overflow:hidden;border-radius:0.375rem}@media (min-width: 768px){.s-product-options-thumbnails-wrapper label{height:5rem}}.s-product-options-thumbnails-wrapper>div{position:relative;display:inline-block;width:100%;text-align:center}.s-product-options-thumbnails-stock-badge{position:absolute;bottom:10px;left:50%;z-index:0;display:block;--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));white-space:nowrap;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1));padding-left:0.375rem;padding-right:0.375rem;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.s-product-options-thumbnails-badge-overlay{position:absolute;top:0px;height:100%;width:100%;cursor:not-allowed;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));opacity:0.5}.s-product-options-thumbnails-icon{position:absolute;left:35%;top:35%;z-index:10;--tw-scale-x:.5;--tw-scale-y:.5;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:2px;opacity:0;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-product-options-thumbnails-icon svg{height:1rem;width:1rem}.s-product-options-thumbnails-wrapper div input[type=radio]:checked+label span{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:1}.s-product-options-thumbnails-wrapper div input[type=radio]{pointer-events:none;position:absolute;display:block;opacity:0}.s-product-options-thumbnails-wrapper div input[type=radio]+label{position:relative}.s-product-options-thumbnails-wrapper div input[type=radio]+label img{height:100%;width:100%;object-fit:cover}.s-product-options-thumbnails-wrapper div label::before{position:absolute;inset:0px;--tw-bg-opacity:1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1));opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);content:var(--tw-content);transition-duration:300ms}.s-product-options-thumbnails-wrapper div input[type=radio]:checked+label::before{content:var(--tw-content);opacity:0.3}.s-product-options-thumbnails-wrapper div input[type=radio]:disabled+label{opacity:0.4}.s-product-options-thumbnails-wrapper div p{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-product-options-image-input .s-file-upload-wrapper{min-height:120px}.s-product-options-image-input .filepond--list-scroller{overflow-y:inherit !important}.s-product-options-image-input .filepond--drop-label{min-height:120px !important;cursor:pointer;border-radius:0.375rem;border-width:1px;border-style:dashed;--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-product-options-filepond-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center}.s-product-options-filepond-placeholder-icon{margin-bottom:0.25rem}.s-product-options-filepond-placeholder-icon svg{height:1.5rem;width:1.5rem;fill:#7c8082}.s-product-options-donation-amount-currency{position:absolute;top:0.25rem;right:1rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-product-options-donation-amount-currency:where([dir="rtl"],[dir="rtl"] *){right:unset;left:1rem}.s-product-options-donation-input-group{position:relative;height:0px;overflow:hidden;opacity:0;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:500ms}.s-product-options-donation-input-group.shown{height:auto;opacity:1;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:500ms}.s-product-options-donation-options{margin-bottom:1.25rem;display:flex;flex-wrap:wrap;gap:0.75rem}.s-product-options-donation-options-item{min-width:20%;flex-grow:1}.s-product-options-donation-options-item:last-child{min-width:25%}.s-product-options-donation-options-item label{display:flex;cursor:pointer;flex-direction:column;align-items:center;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-left:0.5rem;padding-right:0.5rem;padding-top:0.625rem;padding-bottom:0.625rem;font-size:0.875rem;line-height:1.25rem}.s-product-options-donation-options-item input{display:none}.s-product-options-donation-options-item input:checked+label{border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-primary-reverse)}.s-product-options-textarea textarea{resize:none}.s-product-options-digital-card-wrapper{display:flex;flex-wrap:wrap;gap:1rem}.s-product-options-digital-card-option{display:flex;height:fit-content;min-height:40px;min-width:100px;max-width:calc((100% - 1rem) / 3);cursor:pointer;user-select:none;align-items:center;justify-content:center;gap:0.5rem;border-radius:0.375rem;padding:0.5rem;font-size:0.75rem;line-height:1rem;outline-style:solid;outline-width:1px;outline-color:#e5e7eb}.s-product-options-digital-card-option:has(input:checked){color:var(--color-primary-dark);outline-style:solid;outline-width:1px;outline-color:var(--color-primary)}.s-product-options-country-flag{height:24px;width:24px;border-radius:9999px}.s-product-options-digital-card-out-of-stock{height:2.5rem}.s-product-options-digital-card-option input{all:unset}.s-product-options-digital-card-option input:checked{all:unset}.s-product-options-digital-card-option input:invalid{all:unset}@media (min-width: 640px){.s-product-options-option-booking .s-product-options-option-content{margin-top:-2.5rem}}.s-product-options-digital-card-option-stock-out{opacity:0.4}.s-product-options-grid-mode{margin-bottom:1.25rem;display:flex;flex-wrap:wrap;justify-items:center;gap:0.5rem}.s-product-options-grid-mode-span{position:relative;display:flex;min-height:36px;min-width:45px;cursor:pointer;align-items:center;justify-content:center;border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:0.5rem;text-align:center;font-size:0.75rem;line-height:1rem;font-weight:700;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.s-product-options-grid-mode-span:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.s-product-options-grid-mode-span-checkbox{position:relative;display:flex;align-items:center;justify-content:center;padding:0.5rem;text-align:center;font-size:0.875rem;font-weight:700;line-height:1.25rem}.s-product-options-grid-mode input:checked+div{border-color:var(--color-primary);background-color:rgba(var(--color-primary-rgb),0.1);color:var(--color-primary)}.s-product-options-grid-mode input[type=checkbox]{pointer-events:none;position:absolute;opacity:0}.s-product-options-grid-mode input[type=radio]{pointer-events:none;position:absolute;opacity:0}.s-product-options-disabled{cursor:not-allowed;opacity:0.5}.s-product-options-option-stock-out{opacity:0.5}';var N={request:(t,i,o,e=null,a=null)=>(z(),s.request({url:i,data:o,method:t.toLowerCase(),responseType:"json"}).then(e).catch(a)),get:(t,i=null,o=null,e)=>(z(),s.get(t,{params:e}).then(i).catch(o)),post(t,i,o=null,e=null){return this.request("post",t,i,o,e)},put(t,i,o=null,e=null){return this.request("put",t,i,o,e)},delete(t,i,o=null,e=null){return this.request("delete",t,i,o,e)},requestWithSupportAjax(t,i,o="post"){return new Promise(((e,a)=>{if(!window?.isLegacyTheme)return this.request(o,t,i,(({data:t})=>e(t)),(({response:t})=>a(t)));z(),$.ajax({url:t,method:o.toUpperCase(),data:i,headers:{currency:s.defaults.headers.common.currency},async:!1,success:function({data:t}){return e(t)},error:function({response:t}){return a(t)}})}))}},M={options:[],header:"undefined"!=typeof navigator&&"undefined"!=typeof window?[navigator.platform,navigator.userAgent,navigator.appVersion,navigator.vendor,window.opera]:[],dataos:[{name:"Windows Phone",value:"Windows Phone",version:"OS"},{name:"Windows",value:"Win",version:"NT"},{name:"iPhone",value:"iPhone",version:"OS"},{name:"iPad",value:"iPad",version:"OS"},{name:"Kindle",value:"Silk",version:"Silk"},{name:"Android",value:"Android",version:"Android"},{name:"PlayBook",value:"PlayBook",version:"OS"},{name:"BlackBerry",value:"BlackBerry",version:"/"},{name:"Macintosh",value:"Mac",version:"OS X"},{name:"Linux",value:"Linux",version:"rv"},{name:"Palm",value:"Palm",version:"PalmOS"}],databrowser:[{name:"Chrome",value:"Chrome",version:"Chrome"},{name:"Firefox",value:"Firefox",version:"Firefox"},{name:"Safari",value:"Safari",version:"Version"},{name:"Internet Explorer",value:"MSIE",version:"MSIE"},{name:"Opera",value:"Opera",version:"Opera"},{name:"BlackBerry",value:"CLDC",version:"CLDC"},{name:"Mozilla",value:"Mozilla",version:"Mozilla"}],init:function(){var t=this.header.join(" ");return{os:this.matchItem(t,this.dataos),browser:this.matchItem(t,this.databrowser)}},matchItem:function(t,i){var o,e,a,s=0,r=0;for(s=0;s<i.length;s+=1)if(new RegExp(i[s].value,"i").test(t)){if(o=new RegExp(i[s].version+"[- /:;]([\\d._]+)","i"),a="",(e=t.match(o))&&e[1]&&(e=e[1]),e)for(e=e.split(/[._]+/),r=0;r<e.length;r+=1)a+=0===r?e[r]+".":e[r];else a="0";return{name:i[s].name,version:parseFloat(a)}}return{name:"unknown",version:0}}};async function A(t,i,o=!1){if(salla.logger.log("🍏 Pay: mutateShippingContact called",i,o),t.detail.requiredShippingContactFields&&0!=t.detail.requiredShippingContactFields.length)if(o){if(salla.config.isGuest()&&salla.config.get("store.features").includes("guest-checkout")){if(!(i.emailAddress&&i.givenName&&i.familyName&&i.phoneNumber)){salla.logger.warn("🍏 Pay: Guest contact fields are required",i);const o=[];return i.emailAddress||o.push(new window.ApplePayError("shippingContactInvalid","emailAddress","Email address is required")),i.phoneNumber||o.push(new window.ApplePayError("shippingContactInvalid","phoneNumber","Phone number is required")),i.givenName&&i.familyName||o.push(new window.ApplePayError("shippingContactInvalid","name","Name is required")),void t.session.completePayment({status:t.session.STATUS_INVALID_SHIPPING_CONTACT,errors:o})}await async function(t,i){return salla.logger.log("🍏 Pay: Updating guest contact",i),new Promise(((o,e)=>{N.post(t.detail.guestContactSelected.url.replace("{id}",t.id),{email:i.emailAddress||null,first_name:i.givenName||null,last_name:i.familyName||null,phone_number:i.phoneNumber||null,country_code:i.countryCode||null},(async({data:i})=>{"function"==typeof t.detail.guestContactSelected?.onSuccess&&t.detail.guestContactSelected.onSuccess(i),o(i)}),(({response:i})=>{salla.logger.warn("🍏 Pay: Failed to update guest contact via api",i),"function"==typeof t.detail.guestContactSelected?.onFailed&&t.detail.guestContactSelected.onFailed(i),e({response:i})}))}))}(t,i)}}else if(t.detail.requiredShippingContactFields.includes("postalAddress"))return N.post(t.detail.shippingContactSelected.url.replace("{id}",t.id),{country:i.country,city:i.locality,local:i.subLocality||i.administrativeArea||i.locality,description:i.subAdministrativeArea,street:i.addressLines?.join(", ")||i.administrativeArea,country_code:i.countryCode,postal_code:i.postalCode},(async({data:i})=>{if("function"==typeof t.detail.shippingContactSelected.onSuccess&&t.detail.shippingContactSelected.onSuccess(i),t.address_id=i.data.address_id,t.shipping_methods=i.data.shipping_methods,!t.shipping_methods||t.shipping_methods&&!t.shipping_methods.length)return salla.logger.warn("🍏 Pay: We dont found any supported methods",i),void t.session.completeShippingContactSelection({status:t.session.STATUS_INVALID_SHIPPING_POSTAL_ADDRESS,errors:[new window.ApplePayError("addressUnserviceable")]});try{await t.selectApplePayShippingMethod(t.shipping_methods[0])}catch(i){return salla.logger.warn("Failed set the shipping details to api",i),void t.session.completeShippingContactSelection({status:t.session.STATUS_INVALID_SHIPPING_POSTAL_ADDRESS,errors:[new window.ApplePayError("addressUnserviceable")]})}try{await t.recalculateTotal()}catch(i){return salla.logger.warn("🍏 Pay: Failed recalculate total",i),void t.session.completeShippingContactSelection({status:t.session.STATUS_INVALID_SHIPPING_POSTAL_ADDRESS,errors:[new window.ApplePayError("addressUnserviceable")]})}const o={newTotal:t.prepareTotal(),newLineItems:t.prepareLineItems(),newShippingMethods:t.mappingShippingMethods(t.shipping_methods)};salla.logger.log("🍏 Pay: completeShippingContactSelection",o),t.session.completeShippingContactSelection(o)}),(({response:i})=>{salla.logger.warn("🍏 Pay: Failed add address via api",i),"function"==typeof t.detail.shippingContactSelected.onFailed&&t.detail.shippingContactSelected.onFailed(i);let o=i?.data?.error?.fields,e=function(t){return Object.entries(t).filter((([t,i])=>i&&i.length>0)).map((([t,i])=>new window.ApplePayError("shippingContactInvalid",t,i[0])))}({countryCode:o?.country_code&&o.country_code.length>0?o.country_code[0]:null,locality:o?.city&&o.city.length>0?o.city[0]:null,country:o?.country&&o.country.length>0?o.country[0]:null});0===e.length&&i?.data?.error?.message&&e.push(new window.ApplePayError("shippingContactInvalid","locality",i?.data?.error?.message)),t.session.completeShippingContactSelection({newTotal:t.prepareTotal(),newLineItems:t.prepareLineItems(),status:t.session.STATUS_INVALID_SHIPPING_POSTAL_ADDRESS,errors:e})}))}"undefined"!=typeof window&&(window.Salla=window.Salla||{},window.Salla.Payments=window.Salla.Payments||{});const j="undefined"!=typeof window&&!!window.ApplePaySession,L="undefined"!=typeof window?{session:null,detail:null,address_id:null,shipping_methods:[],total:void 0,request:void 0,id:void 0,countryCode:null,totals:[],shippingCompany:null,canceled:!1,init:function(){document.removeEventListener("payments::apple-pay.start-transaction",L.startSession),Salla.event.addEventListener("payments::apple-pay.start-transaction",L.startSession)},initDefault:function(){L.detail.onError||(L.detail.onError=function(t){salla.notify.error(t)}),L.detail.authorized.onFailed||(L.detail.authorized.onFailed=t=>{salla.logger.log(JSON.stringify(t)),salla.api.handleErrorResponse(t),L.onCancel({},t.data.error.message)}),L.detail.validateMerchant.onFailed||(L.detail.validateMerchant.onFailed=t=>{salla.logger.log(JSON.stringify(t)),salla.api.handleErrorResponse({response:t}),L.onCancel({},t.data.error.message)}),L.detail.authorized.onSuccess||(L.detail.authorized.onSuccess=t=>{salla.logger.log(JSON.stringify(t)),salla.api.handleAfterResponseActions(t)})},prepareLineItems:function(){return L.detail?.items?.length||(L.detail.items=[{label:salla.lang.get("pages.cart.items_total"),amount:parseFloat(L.detail.amount).toString()}]),L.detail.items},prepareTotal:function(){return{label:window.location.hostname||"Salla",amount:parseFloat(L.detail.amount).toString()}},isPhysical:()=>L.detail?.requiredShippingContactFields?.includes("postalAddress"),canUseNative:function(){if(!j)return!1;try{return ApplePaySession.canMakePayments()}catch(t){return!1}},getMerchantIdentifier:function(){return L.detail&&L.detail.merchantIdentifier||null},startSession:async function(t){return L.detail=t.detail||t,L.canceled=!1,salla.log("🍏 Pay: payments::apple-pay.start-transaction",L.detail),L.initDefault(),L.canUseNative()?L.startNativeSession(t):L.startPaymentRequestSession(t)},startNativeSession:async function(t){let i,o=L.getApplePaySessionVersion(),e=L.detail.supportedNetworks,a=Array.isArray(e)?[...e]:Object.values(e||{});a.length||(a=["masterCard","visa"]),5!==o||a.includes("mada")||a.push("mada"),L.request={countryCode:L.detail.countryCode||"SA",supportsCouponCode:!0,couponCode:"",currencyCode:L.detail.currency||"SAR",requiredShippingContactFields:L.detail.requiredShippingContactFields?L.detail.requiredShippingContactFields:[],merchantCapabilities:["supports3DS"],supportedNetworks:a,supportedCountries:L.detail.supportedCountries||["SA"],total:L.prepareTotal(),shippingContact:L.detail.shippingContact?L.detail.shippingContact:{},shippingMethods:L.detail.shippingMethods&&L.detail.shippingMethods.length?L.mappingShippingMethods(t.detail.shippingMethods):[],lineItems:L.prepareLineItems()},salla.log("🍏 Pay: init ",L.request),L.session=new ApplePaySession(o,L.request),L.session.onshippingcontactselected=L.onShippingContactSelected,L.session.onshippingmethodselected=L.onShippingMethodSelected,L.session.onvalidatemerchant=L.onValidateMerchant,L.session.onpaymentauthorized=L.onPaymentAuthorized,L.session.oncancel=L.onCancel,L.session.oncouponcodechanged=L.onCouponCodeChanged,L.session.onpaymentmethodselected=L.onPaymentMethodSelected,"function"==typeof L.detail.onStartedSession&&(i=L.detail.onStartedSession(L.session)),i||L.session.begin()},onPaymentMethodSelected:async t=>{if(salla.logger.log("🍏 Pay: onPaymentMethodSelected",t),L.isPhysical())salla.logger.log("🍏 Pay: completePaymentMethodSelection",{newTotal:L.prepareTotal(),newLineItems:L.prepareLineItems()}),L.session.completePaymentMethodSelection({newTotal:L.prepareTotal(),newLineItems:L.prepareLineItems()});else try{await L.recalculateTotal();const t={newTotal:L.prepareTotal(),newLineItems:L.prepareLineItems()};salla.logger.log("🍏 Pay: completePaymentMethodSelection",t),L.session.completePaymentMethodSelection(t)}catch(t){salla.logger.warn("🍏 Pay: Failed recalculate total",t),L.session.completePaymentMethodSelection({newTotal:L.prepareTotal(),newLineItems:L.prepareLineItems(),status:L.session.STATUS_FAILURE,errors:[new window.ApplePayError("unknown",void 0,t?.response?.data?.error?.message||t?.response?.data?.error?.code||"Failed to recalculate total")]})}},onCouponCodeChanged:t=>(Salla.event.dispatch("payments::apple-pay.coupon.change",t),N.post(L.detail.onCouponCodeChanged.url.replace("{id}",L.id),{coupon:t.couponCode,payment_method:"apple_pay"},(async({data:t})=>{"function"==typeof L.detail.onCouponCodeChanged.onSuccess&&L.detail.onCouponCodeChanged.onSuccess(t),salla.log("🍏 Pay: Coupon applied success"),await L.recalculateTotal(),L.session.completeCouponCodeChange({newTotal:L.prepareTotal(),newLineItems:L.prepareLineItems()})}),(async t=>{let i=t?.response;Salla.event.dispatch("payments::apple-pay.coupon.failed",i),"function"==typeof L.detail.onCouponCodeChanged.onFailed&&L.detail.onCouponCodeChanged.onFailed(i),await L.recalculateTotal(),L.session.completeCouponCodeChange({newTotal:L.prepareTotal(),newLineItems:L.prepareLineItems(),errors:[new window.ApplePayError("couponCodeInvalid")]})}))),onCancel:(t={},i=null)=>{L.canceled=!0,L.detail.onError(i||salla.lang.get("pages.checkout.payment_failed")),Salla.event.createAndDispatch("payments::apple-pay.canceled",t)},onPaymentAuthorized:async t=>{salla.logger.log("🍏 Pay: onPaymentAuthorized",t.payment);try{await A(L,t.payment.shippingContact,!0)}catch(t){salla.logger.error("🍏 Pay: Failed to update guest contact details",t);const i=t?.response||t,o=i?.data?.error?.fields||{},e=[];return o?.email&&o.email.length>0&&e.push(new window.ApplePayError("shippingContactInvalid","emailAddress",o.email[0])),o?.phone&&o.phone.length>0&&e.push(new window.ApplePayError("shippingContactInvalid","phoneNumber",o.phone[0])),o?.first_name&&o.first_name.length>0?e.push(new window.ApplePayError("shippingContactInvalid","name",o.first_name[0])):o?.last_name&&o.last_name.length>0&&e.push(new window.ApplePayError("shippingContactInvalid","name",o.last_name[0])),0===e.length&&e.push(new window.ApplePayError("shippingContactInvalid","name",i?.data?.error?.message||i?.data?.error?.code||"Invalid shipping contact details")),Salla.event.dispatch("payments::apple-pay.authorized.failed",i),"function"==typeof L.detail.authorized.onFailed&&L.detail.authorized.onFailed(i),void L.session.completePayment({status:ApplePaySession.STATUS_INVALID_SHIPPING_CONTACT,errors:e})}Salla.event.dispatch("payments::apple-pay.authorized.init",t),N.post(L.detail.authorized.url.replace("{id}",L.id),{payment_method:"apple_pay",applepay_token:JSON.stringify(t.payment)},(({data:t})=>{Salla.event.dispatch("payments::apple-pay.authorized.success",t),"function"==typeof L.detail.authorized.onSuccess&&L.detail.authorized.onSuccess(t),L.session.completePayment(ApplePaySession.STATUS_SUCCESS)}),(t=>{let i=t?.response;Salla.event.dispatch("payments::apple-pay.authorized.failed",i),"function"==typeof L.detail.authorized.onFailed&&L.detail.authorized.onFailed(i),L.session.completePayment({status:ApplePaySession.STATUS_FAILURE,errors:[new window.ApplePayError("unknown",void 0,i?.data?.error?.message||i?.data?.error?.code||"Failed to parse authorized response")]})}))},onValidateMerchant:async t=>{try{Salla.event.dispatch("payments::apple-pay.validate-merchant.init",t);const{data:i}=await N.post(L.detail.validateMerchant.url.replace("{id}",L.id),{validation_url:t.validationURL});Salla.event.dispatch("payments::apple-pay.validate-merchant.success",i);const o=t=>{L.session.completeMerchantValidation(t)};if("function"==typeof L.detail.validateMerchant.onSuccess){const t=await L.detail.validateMerchant.onSuccess(i);if(t?.redirect)return window.location=t.redirect,L.abortValidateMerchant(t)}o(i.data)}catch(t){console.error(t),L.abortValidateMerchant(t?.response)}},abortValidateMerchant:(t=null)=>{L.abortSession(),Salla.event.dispatch("payments::apple-pay.validate-merchant.failed",t),"function"==typeof L.detail.validateMerchant.onFailed&&L.detail.validateMerchant.onFailed(t)},onShippingContactSelected:async t=>{salla.logger.log("🍏 Pay: onShippingContactSelected",t.shippingContact),await A(L,t.shippingContact)},onShippingMethodSelected:async t=>{let i=t.shippingMethod.identifier.split(","),o={ship_id:i[0],private_ship_id:void 0===i[1]?null:i[1],type:void 0===i[2]?null:i[2],route_id:void 0===i[3]?null:i[3]};if(salla.logger.log("🍏 Pay: onShippingMethodSelected",{event:t,previous:L.shippingCompany,current:o}),L.shouldUpdateShippingCompany(o))try{await L.selectApplePayShippingMethod(o),await L.recalculateTotal()}catch(t){return salla.logger.warn("🍏 Pay: Failed set the shipping details to api",t),void L.session.completeShippingMethodSelection({newTotal:L.prepareTotal(),newLineItems:L.prepareLineItems(),status:L.session.STATUS_INVALID_SHIPPING_POSTAL_ADDRESS,errors:[new window.ApplePayError("addressUnserviceable")]})}salla.logger.log("🍏 Pay: completeShippingMethodSelection",{newTotal:L.prepareTotal(),newLineItems:L.prepareLineItems()}),L.session.completeShippingMethodSelection({newTotal:L.prepareTotal(),newLineItems:L.prepareLineItems()})},abortSession:()=>{L.session&&L.session.abort()},paymentRequest:null,paymentResponse:null,getCurrency:()=>L.detail.currency||"SAR",prAmount:t=>({currency:L.getCurrency(),value:String(t)}),prTotal:()=>{const t=L.prepareTotal();return{label:t.label,amount:L.prAmount(t.amount)}},prDisplayItems:()=>L.prepareLineItems().map((t=>({label:t.label,amount:L.prAmount(t.amount)}))),prShippingOptions:(t=null)=>L.mappingShippingMethods(L.shipping_methods||[]).map(((i,o)=>({id:i.identifier,label:i.label,amount:L.prAmount(i.amount),selected:t?i.identifier===t:0===o}))),prContactOptions:()=>{const t=L.detail.requiredShippingContactFields||[];return{requestPayerName:t.includes("name"),requestPayerEmail:t.includes("email"),requestPayerPhone:t.includes("phone"),requestShipping:t.includes("postalAddress"),shippingType:"shipping"}},startPaymentRequestSession:async function(){const t=L.getMerchantIdentifier();if(!t)return void salla.logger.error("🍏 Pay: missing merchant identifier — skipping QR Apple Pay");const i=L.getApplePaySessionVersion(),o=[...L.detail.supportedNetworks||["masterCard","visa"]];5!==i||o.includes("mada")||o.push("mada");const e=[{supportedMethods:"https://apple.com/apple-pay",data:{version:i,merchantIdentifier:t,merchantCapabilities:["supports3DS"],supportedNetworks:o,countryCode:L.detail.countryCode||"SA"}}],a=L.isPhysical(),s={total:L.prTotal(),displayItems:L.prDisplayItems()};let r;a&&(s.shippingOptions=L.prShippingOptions());try{r=new PaymentRequest(e,s,L.prContactOptions())}catch(t){return salla.logger.error("🍏 Pay: Failed to create PaymentRequest",t),void L.detail.onError(salla.lang.get("pages.checkout.payment_failed"))}L.paymentRequest=r,r.onmerchantvalidation=t=>{t.complete(L.prValidateMerchant(t))},a&&(r.onshippingaddresschange=t=>{t.updateWith(L.prShippingAddressChange(r))},r.onshippingoptionchange=t=>{t.updateWith(L.prShippingOptionChange(r))});const n=async()=>{Salla.event.dispatch("payments::apple-pay.sheet-opened");try{const t=await r.show();L.paymentResponse=t,await L.prPaymentAuthorized(t)}catch(t){salla.logger.log("🍏 Pay: PaymentRequest closed",t),"AbortError"!==t?.name||L.canceled||L.onCancel({})}finally{L.paymentRequest=null,L.paymentResponse=null,Salla.event.dispatch("payments::apple-pay.sheet-closed")}};let l;"function"==typeof L.detail.onStartedSession&&(l=L.detail.onStartedSession({begin:n})),l||await n()},prValidateMerchant:async function(t){Salla.event.dispatch("payments::apple-pay.validate-merchant.init",t);try{const{data:i}=await N.post(L.detail.validateMerchant.url.replace("{id}",L.id),{validation_url:t.validationURL});if(!i?.data?.merchantSessionIdentifier){salla.logger.error("🍏 Pay: merchant validation failed",i?.statusMessage||i),Salla.event.dispatch("payments::apple-pay.validate-merchant.failed",{data:i}),L.onCancel({}),setTimeout((()=>{try{L.paymentRequest?.abort()}catch(t){}}),0);const t=new Error("Apple Pay merchant validation failed");throw t.handled=!0,t}if(Salla.event.dispatch("payments::apple-pay.validate-merchant.success",i),"function"==typeof L.detail.validateMerchant.onSuccess){const t=await L.detail.validateMerchant.onSuccess(i);t?.redirect&&(window.location=t.redirect)}return i.data}catch(t){if(!t?.handled){const i=t?.response;Salla.event.dispatch("payments::apple-pay.validate-merchant.failed",i),"function"==typeof L.detail.validateMerchant.onFailed&&L.detail.validateMerchant.onFailed(i)}throw t}},prCountryName:t=>{if(!t)return t;try{const i=salla?.config?.get?.("user.language_code")||"en";return new Intl.DisplayNames([i],{type:"region"}).of(t)||t}catch(i){return t}},prShippingAddressChange:async function(t){const i=t.shippingAddress,o={total:L.prTotal(),displayItems:L.prDisplayItems(),shippingOptions:[]};if(!i)return o;try{const{data:t}=await N.post(L.detail.shippingContactSelected.url.replace("{id}",L.id),{country:L.prCountryName(i.country),city:i.city,local:i.dependentLocality||i.region||i.city,description:i.region,street:(i.addressLine||[]).join(", ")||i.region,country_code:i.country,postal_code:i.postalCode});return L.address_id=t.data.address_id,L.shipping_methods=t.data.shipping_methods,L.shipping_methods?.length?(await L.selectApplePayShippingMethod(L.shipping_methods[0]),await L.recalculateTotal(),{total:L.prTotal(),displayItems:L.prDisplayItems(),shippingOptions:L.prShippingOptions()}):{...o,error:salla.lang.get("pages.checkout.payment_failed")}}catch(t){return salla.logger.warn("🍏 Pay: PR shipping address change failed",t),{...o,error:salla.lang.get("pages.checkout.payment_failed")}}},prShippingOptionChange:async function(t){const i=t.shippingOption;if(!i)return{total:L.prTotal(),displayItems:L.prDisplayItems(),shippingOptions:L.prShippingOptions()};const o=i.split(","),e={ship_id:o[0],private_ship_id:void 0===o[1]?null:o[1],type:void 0===o[2]?null:o[2],route_id:void 0===o[3]?null:o[3]};try{return L.shouldUpdateShippingCompany(e)&&(await L.selectApplePayShippingMethod(e),await L.recalculateTotal()),{total:L.prTotal(),displayItems:L.prDisplayItems(),shippingOptions:L.prShippingOptions(i)}}catch(t){return salla.logger.warn("🍏 Pay: PR shipping option change failed",t),{total:L.prTotal(),displayItems:L.prDisplayItems(),shippingOptions:L.prShippingOptions(i),error:salla.lang.get("pages.checkout.payment_failed")}}},prContactFromResponse:t=>{const i=(t.payerName||"").trim(),o=i.indexOf(" ");return{givenName:o>-1?i.slice(0,o):i,familyName:o>-1?i.slice(o+1):"",emailAddress:t.payerEmail||null,phoneNumber:t.payerPhone||null,countryCode:t.shippingAddress?.country||L.detail.countryCode||null}},prPaymentAuthorized:async function(t){if(L.detail.guestContactSelected){const i=L.prContactFromResponse(t);if(!(i.emailAddress&&i.givenName&&i.familyName&&i.phoneNumber))return await t.complete("fail"),void L.detail.onError(salla.lang.get("common.messages.required_fields"));try{await N.post(L.detail.guestContactSelected.url.replace("{id}",L.id),{email:i.emailAddress,first_name:i.givenName,last_name:i.familyName,phone_number:i.phoneNumber,country_code:i.countryCode})}catch(i){return await t.complete("fail"),void L.detail.onError(i?.response?.data?.error?.message||salla.lang.get("pages.checkout.payment_failed"))}}let i;Salla.event.dispatch("payments::apple-pay.authorized.init",t);try{const{data:o}=await N.post(L.detail.authorized.url.replace("{id}",L.id),{payment_method:"apple_pay",applepay_token:JSON.stringify(t.details)});i=o,Salla.event.dispatch("payments::apple-pay.authorized.success",o),await t.complete("success")}catch(i){const o=i?.response;return Salla.event.dispatch("payments::apple-pay.authorized.failed",o),await t.complete("fail"),void("function"==typeof L.detail.authorized.onFailed&&L.detail.authorized.onFailed(o))}"function"==typeof L.detail.authorized.onSuccess&&L.detail.authorized.onSuccess(i)},shouldUpdateShippingCompany:t=>L.shippingCompany?.ship_id!=t?.ship_id||L.shippingCompany?.private_ship_id!=t?.private_ship_id,getApplePaySessionVersion:()=>{if("sallapp"===(navigator.userAgent||navigator.vendor||window.opera))return 5;let t=M.init(),i=parseFloat(t.os.version);if("Macintosh"===t.os.name){if(i<10.142)return 1}else if(i<12.11)return 1;return 5},recalculateTotal:()=>(salla.logger.log("🍏 Pay: recalculate total"),N.get(L.detail.recalculateTotal.url.replace("{id}",L.id),(({data:t})=>{salla.logger.log("🍏 Pay: recalculate total success",t);let i=t.data.initial_data?.cart||t.data.cart,o=t.data.initial_data?.payments||t.data.payments;salla.logger.log("🍏 Pay: recalculate total success",{cart:i,payments:o}),null!=o?.gateways?.applePay?.amount?(L.detail.amount=o.gateways.applePay.amount,L.detail.currency=o.gateways.applePay.currency??L.detail.currency):L.detail.amount=o?.gateways?.applePay?.supportedMultiCurrency?i.total_in_customer_currency:i.total,L.detail.items=(i.totals||i.items).map((t=>({label:t.title,amount:"مجاني"===t.amount||"Free"===t.amount?0:t.amount.toString().replace("+","")}))),L.detail.items.pop(),L.totals=L.detail.items}),(t=>(salla.logger.warn("🍏 Pay: recalculate total failed",t),t?.response?.data?.message)))),selectApplePayShippingMethod:t=>{salla.logger.log("🍏 Pay: select shipping method ",t),L.shippingCompany=t;const i={address_id:L.address_id,company_id:t.ship_id,private_company_id:t.private_ship_id,type:t.type||void 0,route_id:t.route_id||void 0,payment_method:"apple_pay"};return N.post(L.detail.shippingMethodSelected.url.replace("{id}",L.id),i,(({data:t})=>("function"==typeof L.detail.shippingMethodSelected.onSuccess&&L.detail.shippingMethodSelected.onSuccess(t),!0)),(t=>{salla.logger.warn("🍏 Pay: Set shipping method failed",t),"function"==typeof L.detail.shippingMethodSelected.onFailed&&L.detail.shippingMethodSelected.onFailed(t);let i=t?.response?.data?.error;return i?.data?.fields?.address_id?i?.data?.fields?.address_id[0]:i?.data?.message}))},mappingShippingMethods:t=>t.map((t=>({label:t.shipping_title,amount:t.enable_free_shipping?0:t.ship_cost,detail:"",identifier:t.ship_id.toString()+(t.private_ship_id?","+t.private_ship_id.toString():"")+(t.type?","+t.type:"")+(t.route_id?","+t.route_id:"")})))}:{};"undefined"!=typeof window&&(window.SallaApplePay=L),"undefined"!=typeof window&&(L.canUseNative()||window.PaymentRequest)?L.init():"undefined"!=typeof document&&document.querySelectorAll("data-show-if-apple-pay-supported").forEach((t=>t.style.display="none"));const T=class{constructor(o){t(this,o),this.validationFailed=i(this,"validationFailed"),this.requireLogin=i(this,"requireLogin"),this.type="buy",this.productType="product",this.options={},this.collectedOrderOptions=[],this.collectedFreeProducts=[],this.optionsResolved=!1,this.applePayAmount=0,this.pendingApplePaySession=null,this.quickBuy=salla.lang.get("pages.products.buy_now"),this.handleApplePaySessionStarted=t=>!this.optionsResolved&&(this.optionsResolved=!0,this.pendingApplePaySession=t,h({productId:this.productId,amount:Number(this.amount),quantity:this.getSelectedQuantity(),beginPendingSession:()=>{this.pendingApplePaySession?.begin(),this.pendingApplePaySession=null},discardPendingSession:()=>{this.pendingApplePaySession=null},onSubmit:(t,i,o)=>{this.collectedOrderOptions=t,this.collectedFreeProducts=o||[],this.applePayAmount=i,this.settlePayment()}}),!0),salla.lang.onLoaded((()=>{this.quickBuy=salla.lang.get("pages.products.buy_now")}))}quickBuyHandler(){if(salla.config.isGuest()&&!this.isGuestCheckout())return this.requireLogin.emit({productId:this.productId}),void salla.api.auth.requireLoginThen("salla-quick-buy::user.logged-in",(()=>this.quickBuyHandler()));this.validatePdpOptionsSync()&&(this.optionsResolved=!1,this.collectedOrderOptions=[],this.collectedFreeProducts=[],this.applePayAmount=0,this.settlePayment())}validatePdpOptionsSync(){return!!m(this.productId)||(this.validationFailed.emit({productId:this.productId}),salla.error(salla.lang.get("common.messages.required_fields")),!1)}getSelectedQuantity(){try{const t=this.host.getElementSallaData?.(),i=Number(t instanceof FormData?t.get("quantity"):t?.quantity);return Number.isFinite(i)&&i>0?i:1}catch{return 1}}async settlePayment(){let t=this.host.getElementSallaData();if(g(t,this.collectedOrderOptions),"set"in t?(t.set("id",this.productId),t.set("source","buy_now")):(t.id=this.productId,t.source="buy_now"),x(t,this.collectedFreeProducts),!this.isApplePayActive)return salla.api.request("checkout/mini",t,"post").catch((i=>this.legacyQuickPurchaseFallback(i,t))).then((t=>{const i=t.data?.url||t.data?.redirect;return i?window.location.href=i:"login"===t.data?.to&&salla.event.dispatch("login::open"),t}));t.is_applepay=!0,"append"in t&&t.append("is_applepay",!0),salla.event.dispatch("payments::apple-pay.start-transaction",{amount:this.applePayAmount>0?this.applePayAmount:this.amount,currency:this.currency||salla.config.get("store.settings.buy_now.currency")||"SAR",requiredShippingContactFields:this.getRequiredShippingContactFields(),shippingMethods:this.isRequireShipping?[]:void 0,supportedNetworks:Array.isArray(this.supportedNetworks)&&this.supportedNetworks.length?this.supportedNetworks:salla.config.get("store.settings.buy_now.supportedNetworks"),supportedCountries:Array.isArray(this.supportedCountries)&&this.supportedCountries.length?this.supportedCountries:salla.config.get("store.settings.buy_now.supportedCountries"),countryCode:salla.config.get("store.store_country")||"SA",merchantIdentifier:w(),onStartedSession:this.handleApplePaySessionStarted,validateMerchant:{url:this.validateHost?`${this.validateHost}/checkout/applepay/validate`:salla.url.get("checkout/applepay/validate"),onSuccess:i=>this.applePayOnly&&!this.productId?this.cartId?(window.SallaApplePay.id=this.cartId,salla.log("🍏 Pay: create checkout success: with id #"+this.cartId),Promise.resolve(i)):(salla.logger.warn("🍏 Pay: trying to create applePay transaction without cartId/ProductId !"),Promise.resolve(i)):salla.api.request("checkout/mini","object"==typeof t?t:void 0,"post",{}).catch((i=>this.legacyQuickPurchaseFallback(i,"object"==typeof t?t:void 0))).then((t=>{const i=t?.data?.id||t?.data?.url?.split("/checkout/")[1]?.split(/[/?#]/)[0];if(i)return window.SallaApplePay.id=i,salla.log("🍏 Pay: create checkout success: with id #"+window.SallaApplePay.id),t;const o=t?.data?.url||t?.data?.redirect?.url||t?.data?.redirect;return o?(salla.log("🍏 Pay: create checkout success: redirect exits, go to checkout page"),window.location.href=o,t):(salla.logger.warn("🍏 Pay: create checkout success: No id, or redirect"),t)}))},authorized:{url:salla.url.get("checkout/{id}/payments/submit"),onFailed:t=>{window.SallaApplePay.onCancel({},t?.data?.error?.message||t?.data?.error?.code||salla.lang.get("pages.checkout.payment_failed"))},onSuccess:t=>{window.location.href=t.redirect.url,salla.log("🍏 Pay: authorized Success:: redirect to thank you page, order placed")}},shippingMethodSelected:this.isRequireShipping?{url:salla.url.get("checkout/{id}/shipping/details")}:void 0,shippingContactSelected:this.isRequireShipping?{url:salla.url.get("checkout/{id}/address/add")}:void 0,guestContactSelected:this.isGuestCheckout()?{url:salla.url.get("checkout/{id}/customer")}:void 0,onCouponCodeChanged:{url:salla.url.get("checkout/{id}/coupons")},recalculateTotal:{url:salla.url.get("checkout/{id}/payments/recalculate?payment_method=apple_pay")},onError:function(t){salla.log(t),salla.notify.error(t)}})}legacyQuickPurchaseFallback(t,i){if("token_not_provided"!==t?.response?.data?.error?.code)throw t;return salla.logger.warn("quick-buy: falling back to quick-purchase because of token_not_provided"),salla.api.request("checkout/quick-purchase/"+this.productId,i,"post")}isGuestCheckout(){return salla.config.isGuest()&&salla.config.get("store.features").includes("guest-checkout")&&this.isPhysicalProduct()}getRequiredShippingContactFields(){let t=[];return this.isRequireShipping&&t.push("postalAddress"),this.isGuestCheckout()&&t.push("email","phone","name"),t}applyBaseCurrencyPrice(t){const i=t?.base_currency_price;null!=i?.amount?(this.amount=i.amount,i?.currency&&(this.currency=i.currency)):null!=t?.price&&(this.amount=t.price,this.currency=salla.config.get("user.currency_code")||this.currency||"SAR")}componentWillLoad(){console.log("🍏 Pay: Quick Buy Component Loaded");const t="undefined"!=typeof window&&!!window.ApplePaySession?.canMakePayments?.(),i=salla?.config?.get?.("store.settings.payments")?.includes?.("apple_pay")??!0,o=salla?.config?.get?.("store.settings.is_salla_gateway",!1)??!0;this.isApplePayActive=t&&i&&o;const e=async()=>{if(!this.productId&&salla?.config?.get&&salla.url?.is_page&&(this.productId=salla.config.get("page.id")),!this.applePayOnly&&!this.productId)return void salla?.logger?.warn?.("🍏 Pay: Failed load the quick buy, the product id is missing");this.amount&&this.isRequireShipping||!this.productId||!salla?.product?.getDetails||await salla.product.getDetails(this.productId,[]).then((t=>{this.applyBaseCurrencyPrice(t?.data),this.isRequireShipping=t?.data?.is_require_shipping||!1})).catch((t=>{salla?.logger?.warn?.("🍏 Pay: Failed load the quick buy, get the product details failed: ",t)})),"donate"===this.type&&salla?.event?.on?salla.event.on("product-options::donation-changed",(t=>{String(t.id)===String(this.productId)&&this.applyBaseCurrencyPrice(t)})):salla?.url?.is_page?.("product.single")&&salla?.product?.event?.onPriceUpdated&&salla.product.event.onPriceUpdated((t=>{this.applyBaseCurrencyPrice(t?.data)}));const t=(salla?.config?.get?.("store.settings.payments")?.includes?.("apple_pay")??i)&&(salla?.config?.get?.("store.settings.is_salla_gateway",!1)??o);t&&f(),this.isApplePayActive=t&&await v(this.currency)};return new Promise((t=>{"function"==typeof salla?.onReady?salla.onReady((()=>e().then((()=>t(!0))))):e().then((()=>t(!0)))}))}render(){return o(e,{key:"928e447f7f5c03f64897ffdd3df639408ec74c24"},this.quickBuyButton())}quickBuyButton(){return o("apple-pay-button",{locale:salla?.config?.get?.("user.language_code")||"ar",onClick:()=>this.quickBuyHandler(),"data-quick-purchase":"applepay",class:"s-quick-buy-apple-pay","data-is-applepay":"1",buttonstyle:"black",type:this.type})}isPhysicalProduct(){return"product"===this.productType||"group_products"===this.productType||"food"===this.productType}get host(){return a(this)}};T.style='/*!twlt*/.s-quick-buy-button .s-button-text{display:flex}apple-pay-button{--apple-pay-button-width:100%;--apple-pay-button-height:40px;--apple-pay-button-border-radius:.75rem;--apple-pay-button-box-sizing:content-box}.s-add-product-button-with-sticky-bar salla-quick-buy .s-quick-buy-button .s-button-text span{display:none}@media (min-width: 768px){.s-add-product-button-with-sticky-bar salla-quick-buy .s-quick-buy-button .s-button-text span{display:block}}.s-quick-buy-button svg{margin-right:0.375rem;height:1rem;width:1rem}.s-quick-buy-button svg:where([dir="rtl"],[dir="rtl"] *){margin-right:0px;margin-left:0.375rem}.s-quick-buy-apple-pay{display:block;width:100%}@media (min-width: 640px){.s-quick-buy-apple-pay{margin-top:0.625rem}}.s-quick-buy-apple-pay .apple-pay-btn-wrapper .apple-pay-btn{width:auto !important;border-radius:var(--s-radius, 0.25rem) !important}';export{_ as salla_add_product_button,S as salla_bought_together,C as salla_product_availability,q as salla_product_options,T as salla_quick_buy}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as e,h as r,H as i,a as o}from"./p-GfnuORRm.js";import{i as t}from"./p-CV6uPJEJ.js";function s(e,r){localStorage.getItem("salla-delivery-promise-debug")&&(void 0!==r?console.log(e,r):console.log(e))}async function l(e,r){s("fetchCities start",{productId:e,keyword:r});const i=null!=r?`?keyword=${encodeURIComponent(r)}`:"",o=await salla.api.request(salla.url.api(`products/${e}/delivery-promises/cities${i}`));return o.success&&Array.isArray(o.data)&&0!==o.data.length?(s("fetchCities success",{count:o.data.length}),{cities:o.data}):(s("fetchCities: no data",{response:o}),{cities:[]})}function a(){const e=(Boolean(salla.config.get("store.settings.bullet_delivery.settings.remember_last_session"))?salla.storage.store:salla.storage.session).get("bullet_delivery_intent");return e&&"object"==typeof e?e:null}const d={deliveryTo:"توصيل إلى",pickupFromBranch:"الاستلام من فرع",noResults:"لا توجد نتائج",selectCity:"اختر المدينة",changeCityTitle:"تغيير المدينة",changeCitySubtitle:"",cityFieldLabel:"المدينة",modalSearchPlaceholder:"ابحث عن مدينة",confirmAddress:"تأكيد العنوان",errorDeliveryPromise:"لا يتوفر وعد تسليم لهذه المدينة",errorPickupPromise:"لا يتوفر وعد تسليم لهذا الفرع"},n="salla-bullet-delivery-override-ip",c=class{constructor(r){e(this,r),this.isDeliveryPromiseEnabled=!1,this.isLoginCycleEnabled=!1,this.canRender=!1,this.labels=d,this.selectedLabel=null,this.deliveryMessage=null,this.hasError=!1,this.errorMessage="",this.isLoadingPromises=!1,this.selectedCityLoginCycle=null,this.selectedBranchLoginCycle=null,this.cities=[],this.selectedCity=null,this.isLoadingCities=!1,this.cityPendingSelection=null,this.modalCities=[],this.isSearchingCities=!1,this.citySearchCounter=0,this.onBulletDeliveryConfirmed=()=>{this.applyBulletIntent()},this.handleCitySearch=e=>{if(clearTimeout(this.citySearchTimer),!e.trim())return this.modalCities=[...this.cities],void(this.isSearchingCities=!1);this.citySearchTimer=setTimeout((()=>this.searchCitiesRemote(e)),300)},this.handleHeaderClick=e=>{e.stopPropagation(),this.isLoginCycleEnabled?this.openBulletDeliveryModal():this.openCityChangeModal()}}async componentDidLoad(){await salla.onReady(),await salla.lang.onLoaded(),this.labels={deliveryTo:salla.lang.getWithDefault("pages.products.promise_deliver_to",d.deliveryTo),pickupFromBranch:salla.lang.getWithDefault("pages.products.promise_pickup_from_branch",d.pickupFromBranch),noResults:salla.lang.getWithDefault("common.elements.no_options",d.noResults),selectCity:salla.lang.getWithDefault("common.elements.select_city",d.selectCity),changeCityTitle:salla.lang.getWithDefault("pages.products.promise_change_city_title",d.changeCityTitle),changeCitySubtitle:salla.lang.getWithDefault("pages.products.promise_change_city_subtitle","قد تتغيّر مدة التوصيل حسب المدينة."),cityFieldLabel:salla.lang.getWithDefault("pages.products.promise_city_field",d.cityFieldLabel),modalSearchPlaceholder:salla.lang.getWithDefault("pages.products.promise_search_city",d.modalSearchPlaceholder),confirmAddress:salla.lang.getWithDefault("pages.checkout.confirm_address",d.confirmAddress),errorDeliveryPromise:salla.lang.getWithDefault("pages.products.promise_delivery_not_available",d.errorDeliveryPromise),errorPickupPromise:salla.lang.getWithDefault("pages.products.promise_pickup_not_available",d.errorPickupPromise)},this.isDeliveryPromiseEnabled=salla.config.get("store.features",[]).includes("delivery-promises"),this.isLoginCycleEnabled=salla.config.get("store.features",[]).includes("bullet-delivery-v2")&&Salla.config.get("store.settings.bullet_delivery.enabled"),this.productId=salla.config.get("page.id"),this.isDeliveryPromiseEnabled?this.isLoginCycleEnabled?await this.initLoginCycleFlow():(this.selectedLabel=`${this.labels.deliveryTo} ${this.labels.selectCity}`,await this.loadCities()):this.canRender=!1}disconnectedCallback(){window.removeEventListener("bulletDeliveryConfirmed",this.onBulletDeliveryConfirmed)}getIPDeliveryLocation(){const e="store.shipping.delivery_location",r={cityId:salla.config.get(`${e}.city_id`),cityName:salla.config.get(`${e}.city_name`)};return localStorage.getItem(n)?JSON.parse(localStorage.getItem(n)):r}async initLoginCycleFlow(){const e=this.applyBulletIntent(),{cityId:r,cityName:i}=this.getIPDeliveryLocation();s("delivery promise login cycle flow getIPDeliveryLocation",this.getIPDeliveryLocation()),r&&i&&!e&&(this.selectedLabel=`${this.labels.deliveryTo} ${i}`,await this.loadDeliveryMessage(r,"city")),this.canRender=!0,window.addEventListener("bulletDeliveryConfirmed",this.onBulletDeliveryConfirmed)}applyBulletIntent(){const e=function(){const e=a();if(!e)return null;if("address"===e.type){const r=e.address_details?.city,i=null!=r?.id?Number(r.id):null!=e.city_id?Number(e.city_id):null,o=r?.name?.trim()||"";return null!=i?{type:"address",option:{id:i,name:o}}:t(e)&&e.address_details?.formatted_address?{type:"address",option:{name:e.address_details.formatted_address}}:null}if("branch"===e.type){const r=null!=e.branch_id?Number(e.branch_id):null!=e.branch_details?.id?Number(e.branch_details.id):null,i=e.branch_details?.name?.trim()||"";return null!=r?{type:"branch",option:{id:r,name:i}}:null}return null}();return e?("address"===e.type?(this.selectedCityLoginCycle=e.option,this.selectedBranchLoginCycle=null,this.selectedLabel=`${this.labels.deliveryTo} ${e.option.name||this.labels.selectCity}`,null!=e.option.id?this.loadDeliveryMessage(e.option.id,"city"):this.deliveryMessage=null):(this.selectedBranchLoginCycle=e.option,this.selectedCityLoginCycle=null,this.selectedLabel=`${this.labels.pickupFromBranch} ${e.option.name}`,this.loadDeliveryMessage(e.option.id,"branch")),!0):(this.selectedLabel=`${this.labels.deliveryTo} ${this.labels.selectCity}`,this.selectedCityLoginCycle=null,this.selectedBranchLoginCycle=null,this.deliveryMessage=null,!1)}openBulletDeliveryModal(){salla.event.emit("salla::bullet-delivery.modal.open.requested",function(){const e=a(),r={};if("address"===e?.type&&null!=e.address_id&&(r.preselected_address_id=Number(e.address_id)),"branch"===e?.type){const i=e.branch_id??e.branch_details?.id;null!=i&&(r.preselected_branch_id=Number(i))}return r}())}async loadCities(){this.isLoadingCities=!0,this.hasError=!1;const{cityId:e,cityName:r}=this.getIPDeliveryLocation();s("delivery promise standard flow getIPDeliveryLocation",this.getIPDeliveryLocation());try{const{cities:i}=await l(this.productId);if(!i.length)return void(this.canRender=!1);if(this.cities=i,this.canRender=!0,e&&r){this.selectedLabel=`${this.labels.deliveryTo} ${r}`;const i=this.cities.find((r=>String(r.id)===String(e)));i&&(s("delivery promise standard flow autoCity found",i),this.selectedCity=i),await this.loadDeliveryMessage(e,"city")}}catch(e){this.hasError=!0,this.errorMessage=e.message||"Failed to load cities",this.canRender=!1}finally{this.isLoadingCities=!1}}async loadDeliveryMessage(e,r){this.isLoadingPromises=!0,this.hasError=!1,this.deliveryMessage=null;try{this.deliveryMessage=await async function(e,r,i,o){s("fetchDeliveryMessage start",{productId:e,id:r,optionType:i});let t="";t="city"!==i||o?`?reference_id=${r}&reference_type=${i}`:`?reference_id=${r}`;const l=await salla.api.withoutNotifier((()=>salla.api.request(salla.url.api(`products/${e}/delivery-promises${t}`))));if(!l.success)return s("fetchDeliveryMessage error",{response:l}),null;const a=l.data?.message?.trim();return s("fetchDeliveryMessage success",{message:a}),a||null}(this.productId,e,r,this.isLoginCycleEnabled)}catch(i){s("loadDeliveryMessage failed",{id:e,optionType:r,error:i}),this.deliveryMessage=null}finally{this.isLoadingPromises=!1}}async openCityChangeModal(){this.cityModalRef&&(this.cityPendingSelection=null,this.modalCities=[...this.cities],await this.cityModalRef.setTitle(this.labels.changeCityTitle),await this.cityModalRef.open())}async searchCitiesRemote(e){const r=++this.citySearchCounter;this.isSearchingCities=!0;try{const{cities:i}=await l(this.productId,e);if(r!==this.citySearchCounter)return;this.modalCities=i}catch{if(r!==this.citySearchCounter)return;this.modalCities=[]}finally{r===this.citySearchCounter&&(this.isSearchingCities=!1)}}async handleConfirmCityModal(){if(!this.cityPendingSelection)return void await(this.cityModalRef?.close());const e=this.cityPendingSelection;this.selectedCity=e,this.selectedLabel=`${this.labels.deliveryTo} ${function(e){const r=salla.config.get("user.language_code");return r&&"ar"!==r&&e.name_en?.trim()?e.name_en.trim():e.name}(e)}`,await this.loadDeliveryMessage(e.id,"city"),await(this.cityModalRef?.close())}renderLoadingSkeleton(){return r(i,{class:"s-delivery-promise-wrapper s-delivery-promise-skeleton"},r("div",{class:"s-delivery-promise-container"},r("div",{class:"s-delivery-promise-header s-delivery-promise-header-skeleton"},r("div",{class:"s-delivery-promise-location"},r("salla-skeleton",{height:"14px",width:"180px"})),r("salla-skeleton",{height:"18px",width:"18px"})),r("div",{class:"s-delivery-promise-loading"},r("salla-skeleton",{height:"20px",width:"80%"}))))}renderDeliveryMessage(){return this.isLoadingPromises?r("div",{class:"s-delivery-promise-loading"},r("salla-skeleton",{height:"20px",width:"80%"})):this.deliveryMessage?r("div",{class:"s-delivery-promise-message"},this.deliveryMessage):null}renderCityModalBody(){return r("div",{class:"s-delivery-promise-modal-body"},r("salla-searchable-dropdown",{label:this.labels.cityFieldLabel,placeholder:this.labels.modalSearchPlaceholder,items:this.modalCities,selectedItem:this.cityPendingSelection,searching:this.isSearchingCities,required:!0,noResultsText:this.labels.noResults,inputId:"s-delivery-promise-modal-search",onItemSelected:e=>{this.cityPendingSelection=e.detail},onSearchInput:e=>{this.handleCitySearch(e.detail)}}))}renderCityChangeModal(){return this.isLoginCycleEnabled?null:r("salla-modal",{id:"s-delivery-promise-city-modal",ref:e=>{this.cityModalRef=e},class:"s-delivery-promise-city-modal",isClosable:!0,width:"md","modal-title":this.labels.changeCityTitle,subTitle:this.labels.changeCitySubtitle},this.renderCityModalBody(),r("salla-button",{slot:"footer",width:"wide",disabled:!this.cityPendingSelection,onClick:()=>this.handleConfirmCityModal()},!this.isLoadingPromises&&this.labels.confirmAddress))}render(){return this.isDeliveryPromiseEnabled?this.isLoadingCities?this.renderLoadingSkeleton():this.canRender?r(i,{class:"s-delivery-promise-wrapper"},r("div",{class:"s-delivery-promise-container"},r("div",{class:"s-delivery-promise-header",onClick:this.handleHeaderClick},r("div",{class:"s-delivery-promise-location"},r("span",{class:"s-delivery-promise-title"},this.selectedLabel)),r("i",{class:"sicon-keyboard_arrow_down s-delivery-promise-arrow"})),this.hasError&&r("div",{class:"s-delivery-promise-error"},this.errorMessage),!this.hasError&&this.renderDeliveryMessage()),this.renderCityChangeModal()):null:null}get host(){return o(this)}};c.style='/*!twlt*/@charset "UTF-8";:host{display:block}.s-delivery-promise-wrapper{font-family:inherit}.s-delivery-promise-container{position:relative;background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;padding:12px 16px;margin-bottom:12px}.s-delivery-promise-header{display:flex;align-items:center;cursor:pointer;padding:4px 0}.s-delivery-promise-skeleton .s-delivery-promise-header-skeleton{cursor:default;pointer-events:none}.s-delivery-promise-skeleton .s-delivery-promise-location salla-skeleton{display:block;flex-shrink:0}.s-delivery-promise-location{display:flex;align-items:center;gap:8px}.s-delivery-promise-title{color:var(--color-text-primary, #2b2d34);font-size:14px;font-weight:bold}.s-delivery-promise-arrow{color:var(--color-text-secondary, #666);font-size:18px;transition:transform 0.2s ease}.s-delivery-promise-arrow.open{transform:rotate(180deg)}.s-delivery-promise-city-modal{}.s-delivery-promise-city-modal .s-modal-title{color:var(--color-primary, #00897b);font-weight:700}.s-delivery-promise-city-modal .s-modal-sub-title{color:var(--color-text-secondary, #5c6c7c);font-size:14px;line-height:1.45}.s-delivery-promise-city-modal .s-modal-body{overflow:visible !important}.s-delivery-promise-city-modal .s-modal-body>salla-button{position:relative;z-index:0;margin-top:16px}.s-delivery-promise-modal-body{position:relative;z-index:10;display:flex;flex-direction:column;gap:12px;text-align:start;margin-bottom:16px}.s-delivery-promise-modal-combobox{position:relative;isolation:isolate}.s-delivery-promise-modal-field-label{display:block;font-size:14px;font-weight:500;color:var(--color-text-primary, #2b2d34)}.s-delivery-promise-required{color:var(--color-danger, #dc3545)}.s-delivery-promise-modal-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;background:var(--color-surface, #fff)}.s-delivery-promise-modal-search .sicon-search{flex-shrink:0;color:var(--color-text-secondary, #999);font-size:16px}.s-delivery-promise-modal-search input{flex:1;border:none;outline:none;font-size:14px;background:transparent;color:var(--color-text-primary, #333)}.s-delivery-promise-modal-search input::placeholder{color:var(--color-text-secondary, #999)}.s-delivery-promise-modal-popover{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1;border-radius:8px;border:1px solid var(--color-border, #e5e7eb);background:var(--color-surface, #fff);box-shadow:0 8px 24px rgba(0, 0, 0, 0.12);animation:s-delivery-promise-popover-in 0.2s ease}@keyframes s-delivery-promise-popover-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.s-delivery-promise-modal-list{max-height:min(40vh, 260px);overflow-y:auto;background:var(--color-surface, #fff)}.s-delivery-promise-modal-item{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;margin:0;border:none;border-bottom:1px solid var(--color-border, #eee);cursor:pointer;font:inherit;text-align:inherit;background:transparent;color:var(--color-text-primary, #2b2d34);transition:background 0.15s ease}.s-delivery-promise-modal-item:last-child{border-bottom:none}.s-delivery-promise-modal-item:hover{background:var(--color-hover, #f5f5f5)}.s-delivery-promise-modal-item--selected{background:var(--color-primary-light, rgba(0, 137, 123, 0.08))}.s-delivery-promise-modal-item--selected .s-delivery-promise-modal-item-name{color:var(--color-primary, #00897b);font-weight:600}.s-delivery-promise-modal-item .sicon-check{flex-shrink:0;color:var(--color-primary, #00897b);font-size:14px}.s-delivery-promise-modal-empty{padding:24px 16px;text-align:center;color:var(--color-text-secondary, #999);font-size:14px}.s-delivery-promise-message{margin-top:8px;font-size:13px;line-height:1.5;color:var(--color-text-secondary, #2b2d34)}.s-delivery-promise-loading{margin-top:12px;padding-top:12px}.s-delivery-promise-error{margin-top:12px;padding-top:12px;font-size:14px;color:var(--color-danger, #dc3545)}.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-delivery-promise-wrapper{display:block;font-family:inherit}.s-delivery-promise-container{position:relative;margin-bottom:0.75rem;border-radius:0.5rem;border-width:1px;border-color:var(--color-border,#e5e7eb);background-color:var(--color-surface,#fff);padding-left:1rem;padding-right:1rem;padding-top:0.75rem;padding-bottom:0.75rem}.s-delivery-promise-header{display:flex;cursor:pointer;align-items:center;padding-top:0.25rem;padding-bottom:0.25rem}.s-delivery-promise-skeleton .s-delivery-promise-header-skeleton{pointer-events:none;cursor:default}.s-delivery-promise-skeleton .s-delivery-promise-location salla-skeleton{display:block;flex-shrink:0}.s-delivery-promise-location{display:flex;align-items:center;gap:0.5rem}.s-delivery-promise-title{font-size:0.875rem;line-height:1.25rem;font-weight:700;color:var(--color-text-primary,#2b2d34)}.s-delivery-promise-arrow{font-size:1.125rem;line-height:1.75rem;color:var(--color-text-secondary,#666);transition-property:transform;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.s-delivery-promise-arrow.open{--tw-rotate:180deg;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-delivery-promise-message{margin-top:0.5rem;font-size:13px;line-height:1.5;color:var(--color-text-secondary,#2b2d34)}.s-delivery-promise-loading{margin-top:0.75rem;padding-top:0.75rem}.s-delivery-promise-error{margin-top:0.75rem;padding-top:0.75rem;font-size:0.875rem;line-height:1.25rem;color:var(--color-danger,#dc3545)}.s-delivery-promise-city-modal .s-modal-title{font-weight:700;color:var(--color-primary,#00897b)}.s-delivery-promise-city-modal .s-modal-sub-title{font-size:0.875rem;line-height:1.25rem;line-height:1.45;color:var(--color-text-secondary,#5c6c7c)}.s-delivery-promise-city-modal .s-modal-body{overflow:visible !important}.s-delivery-promise-city-modal .s-modal-body>salla-button{position:relative;z-index:0;margin-top:1rem}.s-delivery-promise-modal-body{position:relative;z-index:10;margin-bottom:1rem;display:flex;flex-direction:column;gap:0.75rem;text-align:start}.s-delivery-promise-modal-combobox{position:relative;isolation:isolate}.s-delivery-promise-modal-field-label{display:block;font-size:0.875rem;line-height:1.25rem;font-weight:500;color:var(--color-text-primary,#2b2d34)}.s-delivery-promise-modal-required{color:var(--color-danger,#dc3545)}.s-delivery-promise-modal-search{display:flex;align-items:center;gap:0.5rem;border-radius:0.5rem;border-width:1px;border-color:var(--color-border,#e5e7eb);background-color:var(--color-surface,#fff);padding-left:0.75rem;padding-right:0.75rem;padding-top:0.625rem;padding-bottom:0.625rem}.s-delivery-promise-modal-search .sicon-search{flex-shrink:0;font-size:1rem;line-height:1.5rem;color:var(--color-text-secondary,#999)}.s-delivery-promise-modal-search input{min-width:0px;flex:1 1 0%;border-width:0px;background-color:transparent;font-size:0.875rem;line-height:1.25rem;color:var(--color-text-primary,#333);outline:2px solid transparent;outline-offset:2px}.s-delivery-promise-modal-search input::placeholder{color:var(--color-text-secondary,#999)}.s-delivery-promise-modal-popover{position:absolute;left:0px;right:0px;top:calc(100% + 4px);z-index:1;border-radius:0.5rem;border-width:1px;border-color:var(--color-border,#e5e7eb);background-color:var(--color-surface,#fff);--tw-shadow:0 8px 24px rgba(0,0,0,0.12);--tw-shadow-colored:0 8px 24px 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-delivery-promise-modal-list{max-height:min(40vh, 260px);overflow-y:auto;background-color:var(--color-surface,#fff)}.s-delivery-promise-modal-item{margin:0px;display:flex;width:100%;cursor:pointer;align-items:center;justify-content:space-between;gap:0.5rem;border-width:0px;border-bottom-width:1px;border-color:var(--color-border,#eee);background-color:transparent;padding-left:1rem;padding-right:1rem;padding-top:0.75rem;padding-bottom:0.75rem;text-align:start;color:var(--color-text-primary,#2b2d34);transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-duration:150ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.s-delivery-promise-modal-item:last-child{border-bottom-width:0px}.s-delivery-promise-modal-item--selected{background-color:var(--color-primary-light,rgba(0,137,123,0.08))}.s-delivery-promise-modal-item--selected .s-delivery-promise-modal-item-name{font-weight:600;color:var(--color-primary,#00897b)}.s-delivery-promise-modal-item .sicon-check{flex-shrink:0;font-size:0.875rem;line-height:1.25rem;color:var(--color-primary,#00897b)}.s-delivery-promise-modal-empty{padding-left:1rem;padding-right:1rem;padding-top:1.5rem;padding-bottom:1.5rem;text-align:center;font-size:0.875rem;line-height:1.25rem;color:var(--color-text-secondary,#999)}';export{c as salla_delivery_promise}
|
|
4
|
+
import{r as e,h as r,H as i,a as o}from"./p-BC0OSCdw.js";import{i as t}from"./p-CV6uPJEJ.js";function s(e,r){localStorage.getItem("salla-delivery-promise-debug")&&(void 0!==r?console.log(e,r):console.log(e))}async function l(e,r){s("fetchCities start",{productId:e,keyword:r});const i=null!=r?`?keyword=${encodeURIComponent(r)}`:"",o=await salla.api.request(salla.url.api(`products/${e}/delivery-promises/cities${i}`));return o.success&&Array.isArray(o.data)&&0!==o.data.length?(s("fetchCities success",{count:o.data.length}),{cities:o.data}):(s("fetchCities: no data",{response:o}),{cities:[]})}function a(){const e=(Boolean(salla.config.get("store.settings.bullet_delivery.settings.remember_last_session"))?salla.storage.store:salla.storage.session).get("bullet_delivery_intent");return e&&"object"==typeof e?e:null}const d={deliveryTo:"توصيل إلى",pickupFromBranch:"الاستلام من فرع",noResults:"لا توجد نتائج",selectCity:"اختر المدينة",changeCityTitle:"تغيير المدينة",changeCitySubtitle:"",cityFieldLabel:"المدينة",modalSearchPlaceholder:"ابحث عن مدينة",confirmAddress:"تأكيد العنوان",errorDeliveryPromise:"لا يتوفر وعد تسليم لهذه المدينة",errorPickupPromise:"لا يتوفر وعد تسليم لهذا الفرع"},n="salla-bullet-delivery-override-ip",c=class{constructor(r){e(this,r),this.isDeliveryPromiseEnabled=!1,this.isLoginCycleEnabled=!1,this.canRender=!1,this.labels=d,this.selectedLabel=null,this.deliveryMessage=null,this.hasError=!1,this.errorMessage="",this.isLoadingPromises=!1,this.selectedCityLoginCycle=null,this.selectedBranchLoginCycle=null,this.cities=[],this.selectedCity=null,this.isLoadingCities=!1,this.cityPendingSelection=null,this.modalCities=[],this.isSearchingCities=!1,this.citySearchCounter=0,this.onBulletDeliveryConfirmed=()=>{this.applyBulletIntent()},this.handleCitySearch=e=>{if(clearTimeout(this.citySearchTimer),!e.trim())return this.modalCities=[...this.cities],void(this.isSearchingCities=!1);this.citySearchTimer=setTimeout((()=>this.searchCitiesRemote(e)),300)},this.handleHeaderClick=e=>{e.stopPropagation(),this.isLoginCycleEnabled?this.openBulletDeliveryModal():this.openCityChangeModal()}}async componentDidLoad(){await salla.onReady(),await salla.lang.onLoaded(),this.labels={deliveryTo:salla.lang.getWithDefault("pages.products.promise_deliver_to",d.deliveryTo),pickupFromBranch:salla.lang.getWithDefault("pages.products.promise_pickup_from_branch",d.pickupFromBranch),noResults:salla.lang.getWithDefault("common.elements.no_options",d.noResults),selectCity:salla.lang.getWithDefault("common.elements.select_city",d.selectCity),changeCityTitle:salla.lang.getWithDefault("pages.products.promise_change_city_title",d.changeCityTitle),changeCitySubtitle:salla.lang.getWithDefault("pages.products.promise_change_city_subtitle","قد تتغيّر مدة التوصيل حسب المدينة."),cityFieldLabel:salla.lang.getWithDefault("pages.products.promise_city_field",d.cityFieldLabel),modalSearchPlaceholder:salla.lang.getWithDefault("pages.products.promise_search_city",d.modalSearchPlaceholder),confirmAddress:salla.lang.getWithDefault("pages.checkout.confirm_address",d.confirmAddress),errorDeliveryPromise:salla.lang.getWithDefault("pages.products.promise_delivery_not_available",d.errorDeliveryPromise),errorPickupPromise:salla.lang.getWithDefault("pages.products.promise_pickup_not_available",d.errorPickupPromise)},this.isDeliveryPromiseEnabled=salla.config.get("store.features",[]).includes("delivery-promises"),this.isLoginCycleEnabled=salla.config.get("store.features",[]).includes("bullet-delivery-v2")&&Salla.config.get("store.settings.bullet_delivery.enabled"),this.productId=salla.config.get("page.id"),this.isDeliveryPromiseEnabled?this.isLoginCycleEnabled?await this.initLoginCycleFlow():(this.selectedLabel=`${this.labels.deliveryTo} ${this.labels.selectCity}`,await this.loadCities()):this.canRender=!1}disconnectedCallback(){window.removeEventListener("bulletDeliveryConfirmed",this.onBulletDeliveryConfirmed)}getIPDeliveryLocation(){const e="store.shipping.delivery_location",r={cityId:salla.config.get(`${e}.city_id`),cityName:salla.config.get(`${e}.city_name`)};return localStorage.getItem(n)?JSON.parse(localStorage.getItem(n)):r}async initLoginCycleFlow(){const e=this.applyBulletIntent(),{cityId:r,cityName:i}=this.getIPDeliveryLocation();s("delivery promise login cycle flow getIPDeliveryLocation",this.getIPDeliveryLocation()),r&&i&&!e&&(this.selectedLabel=`${this.labels.deliveryTo} ${i}`,await this.loadDeliveryMessage(r,"city")),this.canRender=!0,window.addEventListener("bulletDeliveryConfirmed",this.onBulletDeliveryConfirmed)}applyBulletIntent(){const e=function(){const e=a();if(!e)return null;if("address"===e.type){const r=e.address_details?.city,i=null!=r?.id?Number(r.id):null!=e.city_id?Number(e.city_id):null,o=r?.name?.trim()||"";return null!=i?{type:"address",option:{id:i,name:o}}:t(e)&&e.address_details?.formatted_address?{type:"address",option:{name:e.address_details.formatted_address}}:null}if("branch"===e.type){const r=null!=e.branch_id?Number(e.branch_id):null!=e.branch_details?.id?Number(e.branch_details.id):null,i=e.branch_details?.name?.trim()||"";return null!=r?{type:"branch",option:{id:r,name:i}}:null}return null}();return e?("address"===e.type?(this.selectedCityLoginCycle=e.option,this.selectedBranchLoginCycle=null,this.selectedLabel=`${this.labels.deliveryTo} ${e.option.name||this.labels.selectCity}`,null!=e.option.id?this.loadDeliveryMessage(e.option.id,"city"):this.deliveryMessage=null):(this.selectedBranchLoginCycle=e.option,this.selectedCityLoginCycle=null,this.selectedLabel=`${this.labels.pickupFromBranch} ${e.option.name}`,this.loadDeliveryMessage(e.option.id,"branch")),!0):(this.selectedLabel=`${this.labels.deliveryTo} ${this.labels.selectCity}`,this.selectedCityLoginCycle=null,this.selectedBranchLoginCycle=null,this.deliveryMessage=null,!1)}openBulletDeliveryModal(){salla.event.emit("salla::bullet-delivery.modal.open.requested",function(){const e=a(),r={};if("address"===e?.type&&null!=e.address_id&&(r.preselected_address_id=Number(e.address_id)),"branch"===e?.type){const i=e.branch_id??e.branch_details?.id;null!=i&&(r.preselected_branch_id=Number(i))}return r}())}async loadCities(){this.isLoadingCities=!0,this.hasError=!1;const{cityId:e,cityName:r}=this.getIPDeliveryLocation();s("delivery promise standard flow getIPDeliveryLocation",this.getIPDeliveryLocation());try{const{cities:i}=await l(this.productId);if(!i.length)return void(this.canRender=!1);if(this.cities=i,this.canRender=!0,e&&r){this.selectedLabel=`${this.labels.deliveryTo} ${r}`;const i=this.cities.find((r=>String(r.id)===String(e)));i&&(s("delivery promise standard flow autoCity found",i),this.selectedCity=i),await this.loadDeliveryMessage(e,"city")}}catch(e){this.hasError=!0,this.errorMessage=e.message||"Failed to load cities",this.canRender=!1}finally{this.isLoadingCities=!1}}async loadDeliveryMessage(e,r){this.isLoadingPromises=!0,this.hasError=!1,this.deliveryMessage=null;try{this.deliveryMessage=await async function(e,r,i,o){s("fetchDeliveryMessage start",{productId:e,id:r,optionType:i});let t="";t="city"!==i||o?`?reference_id=${r}&reference_type=${i}`:`?reference_id=${r}`;const l=await salla.api.withoutNotifier((()=>salla.api.request(salla.url.api(`products/${e}/delivery-promises${t}`))));if(!l.success)return s("fetchDeliveryMessage error",{response:l}),null;const a=l.data?.message?.trim();return s("fetchDeliveryMessage success",{message:a}),a||null}(this.productId,e,r,this.isLoginCycleEnabled)}catch(i){s("loadDeliveryMessage failed",{id:e,optionType:r,error:i}),this.deliveryMessage=null}finally{this.isLoadingPromises=!1}}async openCityChangeModal(){this.cityModalRef&&(this.cityPendingSelection=null,this.modalCities=[...this.cities],await this.cityModalRef.setTitle(this.labels.changeCityTitle),await this.cityModalRef.open())}async searchCitiesRemote(e){const r=++this.citySearchCounter;this.isSearchingCities=!0;try{const{cities:i}=await l(this.productId,e);if(r!==this.citySearchCounter)return;this.modalCities=i}catch{if(r!==this.citySearchCounter)return;this.modalCities=[]}finally{r===this.citySearchCounter&&(this.isSearchingCities=!1)}}async handleConfirmCityModal(){if(!this.cityPendingSelection)return void await(this.cityModalRef?.close());const e=this.cityPendingSelection;this.selectedCity=e,this.selectedLabel=`${this.labels.deliveryTo} ${function(e){const r=salla.config.get("user.language_code");return r&&"ar"!==r&&e.name_en?.trim()?e.name_en.trim():e.name}(e)}`,await this.loadDeliveryMessage(e.id,"city"),await(this.cityModalRef?.close())}renderLoadingSkeleton(){return r(i,{class:"s-delivery-promise-wrapper s-delivery-promise-skeleton"},r("div",{class:"s-delivery-promise-container"},r("div",{class:"s-delivery-promise-header s-delivery-promise-header-skeleton"},r("div",{class:"s-delivery-promise-location"},r("salla-skeleton",{height:"14px",width:"180px"})),r("salla-skeleton",{height:"18px",width:"18px"})),r("div",{class:"s-delivery-promise-loading"},r("salla-skeleton",{height:"20px",width:"80%"}))))}renderDeliveryMessage(){return this.isLoadingPromises?r("div",{class:"s-delivery-promise-loading"},r("salla-skeleton",{height:"20px",width:"80%"})):this.deliveryMessage?r("div",{class:"s-delivery-promise-message"},this.deliveryMessage):null}renderCityModalBody(){return r("div",{class:"s-delivery-promise-modal-body"},r("salla-searchable-dropdown",{label:this.labels.cityFieldLabel,placeholder:this.labels.modalSearchPlaceholder,items:this.modalCities,selectedItem:this.cityPendingSelection,searching:this.isSearchingCities,required:!0,noResultsText:this.labels.noResults,inputId:"s-delivery-promise-modal-search",onItemSelected:e=>{this.cityPendingSelection=e.detail},onSearchInput:e=>{this.handleCitySearch(e.detail)}}))}renderCityChangeModal(){return this.isLoginCycleEnabled?null:r("salla-modal",{id:"s-delivery-promise-city-modal",ref:e=>{this.cityModalRef=e},class:"s-delivery-promise-city-modal",isClosable:!0,width:"md","modal-title":this.labels.changeCityTitle,subTitle:this.labels.changeCitySubtitle},this.renderCityModalBody(),r("salla-button",{slot:"footer",width:"wide",disabled:!this.cityPendingSelection,onClick:()=>this.handleConfirmCityModal()},!this.isLoadingPromises&&this.labels.confirmAddress))}render(){return this.isDeliveryPromiseEnabled?this.isLoadingCities?this.renderLoadingSkeleton():this.canRender?r(i,{class:"s-delivery-promise-wrapper"},r("div",{class:"s-delivery-promise-container"},r("div",{class:"s-delivery-promise-header",onClick:this.handleHeaderClick},r("div",{class:"s-delivery-promise-location"},r("span",{class:"s-delivery-promise-title"},this.selectedLabel)),r("i",{class:"sicon-keyboard_arrow_down s-delivery-promise-arrow"})),this.hasError&&r("div",{class:"s-delivery-promise-error"},this.errorMessage),!this.hasError&&this.renderDeliveryMessage()),this.renderCityChangeModal()):null:null}get host(){return o(this)}};c.style='/*!twlt*/@charset "UTF-8";:host{display:block}.s-delivery-promise-wrapper{font-family:inherit}.s-delivery-promise-container{position:relative;background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;padding:12px 16px;margin-bottom:12px}.s-delivery-promise-header{display:flex;align-items:center;cursor:pointer;padding:4px 0}.s-delivery-promise-skeleton .s-delivery-promise-header-skeleton{cursor:default;pointer-events:none}.s-delivery-promise-skeleton .s-delivery-promise-location salla-skeleton{display:block;flex-shrink:0}.s-delivery-promise-location{display:flex;align-items:center;gap:8px}.s-delivery-promise-title{color:var(--color-text-primary, #2b2d34);font-size:14px;font-weight:bold}.s-delivery-promise-arrow{color:var(--color-text-secondary, #666);font-size:18px;transition:transform 0.2s ease}.s-delivery-promise-arrow.open{transform:rotate(180deg)}.s-delivery-promise-city-modal{}.s-delivery-promise-city-modal .s-modal-title{color:var(--color-primary, #00897b);font-weight:700}.s-delivery-promise-city-modal .s-modal-sub-title{color:var(--color-text-secondary, #5c6c7c);font-size:14px;line-height:1.45}.s-delivery-promise-city-modal .s-modal-body{overflow:visible !important}.s-delivery-promise-city-modal .s-modal-body>salla-button{position:relative;z-index:0;margin-top:16px}.s-delivery-promise-modal-body{position:relative;z-index:10;display:flex;flex-direction:column;gap:12px;text-align:start;margin-bottom:16px}.s-delivery-promise-modal-combobox{position:relative;isolation:isolate}.s-delivery-promise-modal-field-label{display:block;font-size:14px;font-weight:500;color:var(--color-text-primary, #2b2d34)}.s-delivery-promise-required{color:var(--color-danger, #dc3545)}.s-delivery-promise-modal-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;background:var(--color-surface, #fff)}.s-delivery-promise-modal-search .sicon-search{flex-shrink:0;color:var(--color-text-secondary, #999);font-size:16px}.s-delivery-promise-modal-search input{flex:1;border:none;outline:none;font-size:14px;background:transparent;color:var(--color-text-primary, #333)}.s-delivery-promise-modal-search input::placeholder{color:var(--color-text-secondary, #999)}.s-delivery-promise-modal-popover{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1;border-radius:8px;border:1px solid var(--color-border, #e5e7eb);background:var(--color-surface, #fff);box-shadow:0 8px 24px rgba(0, 0, 0, 0.12);animation:s-delivery-promise-popover-in 0.2s ease}@keyframes s-delivery-promise-popover-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.s-delivery-promise-modal-list{max-height:min(40vh, 260px);overflow-y:auto;background:var(--color-surface, #fff)}.s-delivery-promise-modal-item{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;margin:0;border:none;border-bottom:1px solid var(--color-border, #eee);cursor:pointer;font:inherit;text-align:inherit;background:transparent;color:var(--color-text-primary, #2b2d34);transition:background 0.15s ease}.s-delivery-promise-modal-item:last-child{border-bottom:none}.s-delivery-promise-modal-item:hover{background:var(--color-hover, #f5f5f5)}.s-delivery-promise-modal-item--selected{background:var(--color-primary-light, rgba(0, 137, 123, 0.08))}.s-delivery-promise-modal-item--selected .s-delivery-promise-modal-item-name{color:var(--color-primary, #00897b);font-weight:600}.s-delivery-promise-modal-item .sicon-check{flex-shrink:0;color:var(--color-primary, #00897b);font-size:14px}.s-delivery-promise-modal-empty{padding:24px 16px;text-align:center;color:var(--color-text-secondary, #999);font-size:14px}.s-delivery-promise-message{margin-top:8px;font-size:13px;line-height:1.5;color:var(--color-text-secondary, #2b2d34)}.s-delivery-promise-loading{margin-top:12px;padding-top:12px}.s-delivery-promise-error{margin-top:12px;padding-top:12px;font-size:14px;color:var(--color-danger, #dc3545)}.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-delivery-promise-wrapper{display:block;font-family:inherit}.s-delivery-promise-container{position:relative;margin-bottom:0.75rem;border-radius:0.5rem;border-width:1px;border-color:var(--color-border,#e5e7eb);background-color:var(--color-surface,#fff);padding-left:1rem;padding-right:1rem;padding-top:0.75rem;padding-bottom:0.75rem}.s-delivery-promise-header{display:flex;cursor:pointer;align-items:center;padding-top:0.25rem;padding-bottom:0.25rem}.s-delivery-promise-skeleton .s-delivery-promise-header-skeleton{pointer-events:none;cursor:default}.s-delivery-promise-skeleton .s-delivery-promise-location salla-skeleton{display:block;flex-shrink:0}.s-delivery-promise-location{display:flex;align-items:center;gap:0.5rem}.s-delivery-promise-title{font-size:0.875rem;line-height:1.25rem;font-weight:700;color:var(--color-text-primary,#2b2d34)}.s-delivery-promise-arrow{font-size:1.125rem;line-height:1.75rem;color:var(--color-text-secondary,#666);transition-property:transform;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.s-delivery-promise-arrow.open{--tw-rotate:180deg;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-delivery-promise-message{margin-top:0.5rem;font-size:13px;line-height:1.5;color:var(--color-text-secondary,#2b2d34)}.s-delivery-promise-loading{margin-top:0.75rem;padding-top:0.75rem}.s-delivery-promise-error{margin-top:0.75rem;padding-top:0.75rem;font-size:0.875rem;line-height:1.25rem;color:var(--color-danger,#dc3545)}.s-delivery-promise-city-modal .s-modal-title{font-weight:700;color:var(--color-primary,#00897b)}.s-delivery-promise-city-modal .s-modal-sub-title{font-size:0.875rem;line-height:1.25rem;line-height:1.45;color:var(--color-text-secondary,#5c6c7c)}.s-delivery-promise-city-modal .s-modal-body{overflow:visible !important}.s-delivery-promise-city-modal .s-modal-body>salla-button{position:relative;z-index:0;margin-top:1rem}.s-delivery-promise-modal-body{position:relative;z-index:10;margin-bottom:1rem;display:flex;flex-direction:column;gap:0.75rem;text-align:start}.s-delivery-promise-modal-combobox{position:relative;isolation:isolate}.s-delivery-promise-modal-field-label{display:block;font-size:0.875rem;line-height:1.25rem;font-weight:500;color:var(--color-text-primary,#2b2d34)}.s-delivery-promise-modal-required{color:var(--color-danger,#dc3545)}.s-delivery-promise-modal-search{display:flex;align-items:center;gap:0.5rem;border-radius:0.5rem;border-width:1px;border-color:var(--color-border,#e5e7eb);background-color:var(--color-surface,#fff);padding-left:0.75rem;padding-right:0.75rem;padding-top:0.625rem;padding-bottom:0.625rem}.s-delivery-promise-modal-search .sicon-search{flex-shrink:0;font-size:1rem;line-height:1.5rem;color:var(--color-text-secondary,#999)}.s-delivery-promise-modal-search input{min-width:0px;flex:1 1 0%;border-width:0px;background-color:transparent;font-size:0.875rem;line-height:1.25rem;color:var(--color-text-primary,#333);outline:2px solid transparent;outline-offset:2px}.s-delivery-promise-modal-search input::placeholder{color:var(--color-text-secondary,#999)}.s-delivery-promise-modal-popover{position:absolute;left:0px;right:0px;top:calc(100% + 4px);z-index:1;border-radius:0.5rem;border-width:1px;border-color:var(--color-border,#e5e7eb);background-color:var(--color-surface,#fff);--tw-shadow:0 8px 24px rgba(0,0,0,0.12);--tw-shadow-colored:0 8px 24px 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-delivery-promise-modal-list{max-height:min(40vh, 260px);overflow-y:auto;background-color:var(--color-surface,#fff)}.s-delivery-promise-modal-item{margin:0px;display:flex;width:100%;cursor:pointer;align-items:center;justify-content:space-between;gap:0.5rem;border-width:0px;border-bottom-width:1px;border-color:var(--color-border,#eee);background-color:transparent;padding-left:1rem;padding-right:1rem;padding-top:0.75rem;padding-bottom:0.75rem;text-align:start;color:var(--color-text-primary,#2b2d34);transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-duration:150ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.s-delivery-promise-modal-item:last-child{border-bottom-width:0px}.s-delivery-promise-modal-item--selected{background-color:var(--color-primary-light,rgba(0,137,123,0.08))}.s-delivery-promise-modal-item--selected .s-delivery-promise-modal-item-name{font-weight:600;color:var(--color-primary,#00897b)}.s-delivery-promise-modal-item .sicon-check{flex-shrink:0;font-size:0.875rem;line-height:1.25rem;color:var(--color-primary,#00897b)}.s-delivery-promise-modal-empty{padding-left:1rem;padding-right:1rem;padding-top:1.5rem;padding-bottom:1.5rem;text-align:center;font-size:0.875rem;line-height:1.25rem;color:var(--color-text-secondary,#999)}';export{c as salla_delivery_promise}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,h as e,a as s}from"./p-
|
|
4
|
+
import{r as t,h as e,a as s}from"./p-BC0OSCdw.js";import{a as i}from"./p-CgtvEd63.js";const a=class{constructor(e){t(this,e),this.currentSlug=salla.config.get("page.slug"),salla.onReady((()=>{this.currentSlug=salla.config.get("page.slug")})),this.advSlot=this.host.querySelector('[slot="adv"]')?.innerHTML||'<div class="s-advertisement-content"><span class="s-advertisement-content-main">{iconElem}{urlElem}</span>{closeElem}</div>\n '}isNotVisible(t){return!(salla.config.isDebug()||salla.helpers.isPreview()||!salla.storage.get(`statusAd-${t.id}`))}setCanDisplayFlag(t,e){e||(salla.storage.set(`statusAd-${t.id}`,"dismissed"),i({targets:this.host,opacity:[1,0],duration:300,height:[this.host.clientHeight,0],easing:"easeInOutQuad"}))}render(){if((!Array.isArray(this.advertisements)||this.advertisements.length)&&this.advertisements)return this.advertisements.map((t=>e("div",{class:{"s-hidden":this.isNotVisible(t),"s-advertisement":!0},"data-id":t.id,style:{"background-color":t.colors.bg,color:t.colors.text}},e("div",{id:"adv-slot",innerHTML:this.advSlot.replace("{iconElem}",`<i class="s-advertisement-content-icon ${t.icon}"></i>`).replace("{urlElem}",t.url?`<a href="${t.url}" target="${t.target}">${t.description}</a>`:t.description).replace("{closeElem}",'<button class="s-advertisement-action" aria-label="close-alert"><i class="sicon-cancel"></i></button>').replace("{icon}",t.icon).replace("{url}",t.url).replace("{target}",t.target).replace("{description}",t.description).replace("{bg_color}",t.colors.bg).replace("{text_color}",t.colors.text)}))))}componentWillLoad(){return(async()=>{if(salla.config.isMobileApp())return[];const t=salla.config.isDebug()||salla.helpers.isPreview();await new Promise((t=>salla.onReady(t)));const e=t?null:this.currentSlug,s=await salla.api.advertisement.fetch(e);if(Array.isArray(s.data)){const e=s.data;this.advertisements=t?e:e.filter((t=>!salla.storage.get(`statusAd-${t.id}`)))}else this.advertisements=[];return this.advertisements})()}componentDidRender(){Array.isArray(this.advertisements)&&!this.advertisements.length||!this.advertisements||(setTimeout((()=>{let t=this.host.querySelector(".s-advertisement-action");t&&t.addEventListener("click",(()=>this.setCanDisplayFlag(this.advertisements[0],!1)))})),this.host.querySelectorAll("#adv-slot").forEach((t=>t?.replaceWith(t?.firstChild))),this.host.querySelector('[slot="adv"]')?.remove(),i({targets:this.host,opacity:[0,1],duration:300,height:[0,this.host.clientHeight],easing:"easeInOutQuad"}))}get host(){return s(this)}};a.style='/*!twlt*/:host{display:block}.visible{visibility:visible}.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-hidden{display:none}.s-advertisement-content{width:100%;margin-right:auto;margin-left:auto;padding-right:10px;padding-left:10px}@media (min-width: 1280px){.s-advertisement-content{max-width:1280px}}.s-advertisement-content{display:flex;align-items:center;justify-content:space-between;padding-top:0.625rem;padding-bottom:0.625rem}.s-advertisement-content-main{flex:1 1 0%;text-align:center;font-size:0.875rem;line-height:1.25rem;font-weight:700}.s-advertisement-content-icon{display:inline-block;vertical-align:middle;font-size:1rem;line-height:1.5rem}.s-advertisement-content-icon:where([dir="ltr"],[dir="ltr"] *){margin-right:0.5rem}.s-advertisement-content-icon:where([dir="rtl"],[dir="rtl"] *){margin-left:0.5rem}.s-advertisement-action{padding-left:0.25rem;padding-right:0.25rem}';export{a as salla_advertisement}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as e,h as s,H as r}from"./p-
|
|
4
|
+
import{r as e,h as s,H as r}from"./p-BC0OSCdw.js";const t=class{constructor(s){e(this,s),this.dark=!1,this.commercialRegisterLabel="",this.freelanceLabel=""}componentWillLoad(){this.initializeTranslations()}isVisibilityEnforced(){return"SA"===salla.config.get("store.store_country")}initializeTranslations(){salla.lang.onLoaded((()=>{const e=(e,s,r)=>{salla.helpers.setNested(salla.lang.messages[e],s,r)};e("ar.trans","blocks.footer.commercial_register","السجل التجاري"),e("en.trans","blocks.footer.commercial_register","Commercial Register"),e("ar.trans","blocks.footer.freelance","وثيقة العمل الحر"),e("en.trans","blocks.footer.freelance","Freelance Certificate"),this.commercialRegisterLabel=salla.lang.getWithDefault("blocks.footer.commercial_register","السجل التجاري"),this.freelanceLabel=salla.lang.getWithDefault("blocks.footer.freelance","وثيقة العمل الحر")}))}getBadgeData(){const e=salla.config.get("store.settings.commercial_number"),s=salla.config.get("store.settings.freelance_number");return e?{number:e,label:this.commercialRegisterLabel||"السجل التجاري",imageUrl:salla.url.cdn("images/commercial-register.png",70,70),type:"commercial"}:s?{number:s,label:this.freelanceLabel||"وثيقة العمل الحر",imageUrl:this.dark?salla.url.cdn("images/freelance-white.png"):salla.url.cdn("images/freelance.png"),type:"freelance"}:null}render(){const e=this.getBadgeData();return e?s(r,{class:"s-trust-badges-wrapper "+(this.dark?"dark":"")},this.isVisibilityEnforced()?s("img",{class:"s-trust-badges-image",width:"55",height:"55",src:e.imageUrl,alt:e.label}):null,s("div",{class:"s-trust-badges-content"},s("p",{class:"s-trust-badges-label"},e.label),s("b",{class:"s-trust-badges-number"},e.number))):null}};t.style='/*!twlt*/.s-trust-badges-wrapper{display:flex;align-items:center}.s-trust-badges-wrapper>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem * var(--tw-space-x-reverse));margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))}.s-trust-badges-wrapper:where([dir="rtl"],[dir="rtl"] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.s-trust-badges-label{margin-bottom:0.25rem;font-size:0.875rem;line-height:1.25rem}.s-trust-badges-number{font-size:0.875rem;line-height:1.25rem}';export{t as salla_trust_badges}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,h as a}from"./p-GfnuORRm.js";import{S as e}from"./p-D4oPi1Ov.js";import{C as l}from"./p-BsLF_HK7.js";const s=class{constructor(a){t(this,a),this.activeTabType="",this.tabsKey=0,this.selectedItem=void 0,this.allowEmail=!0,this.allowMobile=!0,this.requireEmail=!1,salla.event.on("loyalty::open",(()=>this.open())),salla.auth.event.onLoggedIn((()=>{this.is_loggedin=!0})),salla.onReady((()=>{this.is_loggedin=salla.config.isUser()})),salla.lang.onLoaded((()=>{this.guestMessage=salla.lang.get("pages.loyalty_program.guest_message"),this.translationLoaded=!0})),salla.cart.event.onUpdated((t=>{this.prizePoints=t.loyalty.prize?.points,this.prizeTitle=t.loyalty.prize?.title,this.customerPoints=t.loyalty.customer_points||this.customerPoints}))}onTabSelected(t){const a=this.loyaltyProgram?.prizes.find((a=>a.title===t.detail?.name));a&&(this.activeTabType=a.type)}setSelectedPrizeItem(t){this.selectedItem=this.selectedItem&&this.selectedItem?.id==t.id?void 0:t}handleLongText(t){return t.length>150?t.substring(0,150)+"...":t}prizeItem(t){return a("div",{onClick:()=>this.setSelectedPrizeItem(t),class:{"s-loyalty-prize-item-selected":!!this.selectedItem&&this.selectedItem?.id==t.id,"s-loyalty-prize-item":!0}},a("img",{class:"s-loyalty-prize-item-image",src:t.image,alt:t.name}),a("div",{class:"s-loyalty-prize-item-title"},t.name),a("div",{class:"s-loyalty-prize-item-subtitle"},this.handleLongText(t.description)),a("div",{class:"s-loyalty-prize-item-points"},t.cost_points," ",salla.lang.get("pages.loyalty_program.point"),a("div",{class:"s-loyalty-prize-item-check"},a("div",null))))}getConfirmationModal(){return[a("salla-placeholder",{alignment:"center",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80" viewBox="0 0 80 80">\n<title>star3</title>\n <defs>\n <style>\n .a {\n fill: none !important;\n }\n\n .b {\n fill: #ff9e01;\n }\n\n .c {\n fill: #fff;\n opacity: 0.1;\n }\n\n </style>\n </defs>\n <g transform="translate(-683 -269)">\n <rect class="a" width="80" height="80" transform="translate(683 269)" />\n <g transform="translate(684.539 261.216)">\n <path class="b"\n d="M110.117,37.062,90.024,35.2,82.043,16.665a1.61,1.61,0,0,0-2.958,0L71.1,35.2,51.011,37.062a1.61,1.61,0,0,0-.914,2.813l15.16,13.318L60.821,72.878a1.61,1.61,0,0,0,2.393,1.739l17.351-10.3,17.351,10.3a1.61,1.61,0,0,0,2.393-1.739L95.871,53.192l15.16-13.318A1.61,1.61,0,0,0,110.117,37.062Z"\n transform="translate(-42.104 -4.011)" />\n <g transform="translate(0 10.971)">\n <path class="b"\n d="M93.54,12.016c1.024,1.423,3.915,7.533,5.568,11.094a.559.559,0,0,1-.891.641c-2.853-2.7-7.73-7.377-8.754-8.8a2.512,2.512,0,0,1,4.077-2.935Z"\n transform="translate(-75.621 -10.971)" />\n <path class="b"\n d="M360.909,12.016c-1.024,1.423-3.915,7.533-5.568,11.094a.559.559,0,0,0,.891.641c2.853-2.7,7.73-7.377,8.754-8.8a2.512,2.512,0,0,0-4.077-2.935Z"\n transform="translate(-301.908 -10.971)" />\n <path class="b"\n d="M427.538,284.659c-1.667-.543-8.366-1.441-12.261-1.934a.559.559,0,0,0-.34,1.044c3.436,1.9,9.377,5.123,11.044,5.666a2.512,2.512,0,0,0,1.558-4.776Z"\n transform="translate(-352.351 -241.894)" />\n <path class="b"\n d="M1.734,284.659c1.667-.543,8.366-1.441,12.261-1.934a.559.559,0,0,1,.34,1.044c-3.436,1.9-9.377,5.123-11.044,5.666a2.512,2.512,0,0,1-1.558-4.776Z"\n transform="translate(0 -241.894)" />\n <path class="b"\n d="M239.794,412.414c0-1.753,1.224-8.4,1.963-12.257a.559.559,0,0,1,1.1,0c.739,3.855,1.963,10.5,1.963,12.257a2.512,2.512,0,0,1-5.023,0Z"\n transform="translate(-203.768 -341.301)" />\n </g>\n <path class="c"\n d="M84.945,23.4l-2.9-6.74a1.61,1.61,0,0,0-2.958,0L71.1,35.2,51.011,37.062a1.61,1.61,0,0,0-.914,2.813l15.16,13.318L60.821,72.878a1.61,1.61,0,0,0,2.393,1.739l2.309-1.371A125,125,0,0,1,84.945,23.4Z"\n transform="translate(-42.104 -4.011)" />\n </g>\n </g>\n</svg>\n',class:"s-loyalty-confirmation-modal-content"},a("div",{slot:"title",class:"s-loyalty-confirmation-title"},salla.lang.get("pages.loyalty_program.exchange_points")),a("div",{slot:"description"},salla.lang.get("pages.loyalty_program.are_you_sure_to_exchange")," ( ",a("strong",null,this.selectedItem?.cost_points)," ",salla.lang.get("pages.loyalty_program.point")," ) ",salla.lang.get("pages.loyalty_program.for")," ( ",a("strong",null,this.selectedItem?.name)," )")),a("div",{class:"s-loyalty-confirmation-actions"},a("salla-button",{fill:"outline",width:"wide",onClick:()=>this.cancelProcess()},salla.lang.get("pages.loyalty_program.cancellation")),a("salla-button",{loading:this.buttonLoading,width:"wide",onClick:()=>this.exchangeLoyaltyPoint()},salla.lang.get("pages.loyalty_program.confirm")))]}getAfterExchangeUI(){return a("slot",{name:"points-applied-widget"},a("salla-list-tile",{class:"s-loyalty-after-exchange"},a("div",{slot:"title",class:"s-loyalty-after-exchange-title"},this.prizeTitle," - ",this.prizePoints," ",salla.lang.get("pages.loyalty_program.point")),a("div",{slot:"action",class:"s-loyalty-after-exchange-action"},a("salla-button",{class:"s-loyalty-after-exchange-reset",shape:"icon",fill:"outline",color:"danger",size:"small",onClick:()=>this.resetExchange()},a("span",{innerHTML:l})))))}async open(){return this.is_loggedin?(this.modal?.open(),await salla.loyalty.getProgram().then((t=>{this.loyaltyProgram=t.data,this.activeTabType=this.loyaltyProgram.prizes[0]?.type||"",this.tabsKey++})).catch((t=>{this.hasError=!0,this.errorMessage=t.response?.data?.error?.message||t.response?.data})).finally((()=>this.modal?.stopLoading()))):salla.event.dispatch("login::open")}async close(){return this.modal.close()}async resetExchange(){return await salla.loyalty.reset()}getApiErrorMessage(t){return t?.response?.data?.error?.message||t?.response?.data?.message||("string"==typeof t?t:null)||salla.lang.get("common.errors.error_occurred")}async openConfirmation(){return await this.modal.close().then((()=>this.confirmationModal?.open())).catch((t=>console.log(t)))}async cancelProcess(){return await this.confirmationModal.close().then((()=>this.selectedItem=null)).catch((t=>console.log(t)))}async exchangeLoyaltyPoint(){this.buttonLoading=!0;const t=this.selectedItem;await salla.loyalty.exchange(t?.id).then((async()=>{"FREE_PRODUCT"==t?.key&&salla.url.is_page("cart")&&window.location.reload(),await this.cancelProcess()})).catch((t=>{salla.notify.error(this.getApiErrorMessage(t))})),this.buttonLoading=!1}render(){return this.prizePoints?this.getAfterExchangeUI():[a("slot",{name:"widget"},this.customerPoints?a("salla-list-tile",{class:"s-loyalty-widget"},a("div",{slot:"icon",class:"s-loyalty-widget-icon",innerHTML:e}),a("div",{slot:"subtitle"},this.customerPoints?salla.lang.get("pages.loyalty_program.cart_total_point_summary",{balance:this.customerPoints}):this.guestMessage,a("salla-button",{shape:"link",color:"primary",onClick:()=>salla.event.dispatch("loyalty::open")},this.customerPoints?salla.lang.get("pages.loyalty_program.cart_point_exchange_now"):salla.lang.get("blocks.header.login")))):""),a("salla-modal",{noPadding:!0,width:"sm",ref:t=>this.confirmationModal=t},this.getConfirmationModal()),a("salla-modal",{isLoading:!0,"has-skeleton":!0,width:"md",ref:t=>this.modal=t},a("div",{slot:"loading"},a("div",{class:"s-loyalty-skeleton"},a("salla-list-tile",{class:"s-loyalty-header"},a("div",{slot:"icon",class:"s-loyalty-header-icon"},a("salla-skeleton",{type:"circle",height:"6rem",width:"6rem"})),a("div",{slot:"title",class:"s-loyalty-header-title mb-5"},a("salla-skeleton",{height:"15px",width:"50%"})),a("div",{slot:"subtitle",class:"s-loyalty-header-subtitle"},a("salla-skeleton",{height:"10px"}),a("salla-skeleton",{height:"10px",width:"75%"}))),a("div",{class:"s-loyalty-skeleton-cards"},[...Array(3)].map((()=>a("div",{class:"s-loyalty-prize-item swiper-slide"},a("salla-skeleton",{height:"9rem"}),a("div",{class:"s-loyalty-prize-item-title"},a("salla-skeleton",{height:"15px",width:"75%"})),a("div",{class:"s-loyalty-prize-item-subtitle"},a("salla-skeleton",{height:"10px",width:"50%"}),a("salla-skeleton",{height:"10px",width:"25%"})),a("div",{class:"s-loyalty-prize-item-points"},a("salla-skeleton",{height:"15px",width:"100px"}),a("div",{class:"s-loyalty-prize-item-check"},a("salla-skeleton",{height:"1rem",width:"1rem",type:"circle"}))))))))),!this.hasError&&this.loyaltyProgram?[a("salla-list-tile",{id:"s-loyalty-header",class:"s-loyalty-header"},a("div",{slot:"icon",class:"s-loyalty-header-icon",innerHTML:'<svg xmlns="http://www.w3.org/2000/svg" width="54.079" height="53.191" viewBox="0 0 54.079 53.191"><defs><style>.a{fill:#ee9d0d;}.b{fill:#c7830b;}.c{fill:#ea2b2d;}.d{fill:#cb2527;}.e{fill:#6699ce;}.f{fill:#faa6b2;}.g{fill:#a6deff;}.h{fill:#eeb436;}.i{fill:#f72d2f;}</style></defs><path class="a" d="M40,248H77.3v25.88a2.1,2.1,0,0,1-2.1,2.1H42.1a2.1,2.1,0,0,1-2.1-2.1Z" transform="translate(-38.135 -222.787)"/><path class="b" d="M250.632,248.711v12.755L236.2,248h13.67Z" transform="translate(-211.463 -222.787)"/><path class="b" d="M333.957,336v3.207L330.52,336Z" transform="translate(-294.787 -300.528)"/><path class="c" d="M226.194,32.048l-.5.185a5.035,5.035,0,0,0-3.072,3.292l-.468,1.585-.759.414a5.035,5.035,0,0,0-2.422,3l8.865,8.271,5.09-5.456.262-6.205a5.191,5.191,0,0,0-7-5.083Z" transform="translate(-196.246 -31.722)"/><path class="c" d="M358.628,175.48l-.15.509a5.034,5.034,0,0,1-3.072,3.292l-1.55.577-.359.785a5.034,5.034,0,0,1-2.822,2.624L341.81,175l5.09-5.455,6.172-.69a5.191,5.191,0,0,1,5.555,6.629Z" transform="translate(-304.761 -152.837)"/><path class="d" d="M168,248h7.461v27.978H168Z" transform="translate(-151.213 -222.787)"/><path class="c" d="M40,336H77.3v7.461H40Z" transform="translate(-38.135 -300.528)"/><path class="d" d="M333.957,336v3.207L330.52,336Z" transform="translate(-294.787 -300.528)"/><path class="a" d="M2.1,0H40.8a2.1,2.1,0,0,1,2.1,2.1V9.326H0V2.1A2.1,2.1,0,0,1,2.1,0Z" transform="matrix(0.731, 0.682, -0.682, 0.731, 18.641, 4.976)"/><path class="d" d="M0,0H9.326V9.326H0Z" transform="matrix(0.731, 0.682, -0.682, 0.731, 30.912, 16.424)"/><path class="d" d="M286.857,79.389a.931.931,0,0,1-.74-.365l-.615-.8a12.516,12.516,0,0,1-2.528-9,.933.933,0,0,1,1.855.2,10.66,10.66,0,0,0,2.153,7.667l.615.8a.933.933,0,0,1-.739,1.5Z" transform="translate(-252.718 -64.113)"/><path class="c" d="M185.485,178.151l-.039.014a30.78,30.78,0,0,1-12.034,1.906l-2.381-.1,4.092,3.817-1.181,4,3.728-1.206a30.775,30.775,0,0,0,9.833-5.315l.71-.572Z" transform="translate(-153.891 -161.081)"/><path class="d" d="M363.834,194.779a12.51,12.51,0,0,1-6.93-2.1l-.843-.559a.933.933,0,1,1,1.031-1.554l.842.558a10.659,10.659,0,0,0,7.8,1.618.933.933,0,1,1,.328,1.836A12.663,12.663,0,0,1,363.834,194.779Z" transform="translate(-316.982 -171.914)"/><path class="c" d="M275,202.524l-.012.04a30.776,30.776,0,0,0-1.069,12.137l.265,2.369-4.092-3.817-3.909,1.455.945-3.8a30.776,30.776,0,0,1,4.622-10.177l.521-.748Z" transform="translate(-237.949 -180.364)"/><circle class="e" cx="1.865" cy="1.865" r="1.865" transform="translate(10.259 0.032)"/><circle class="f" cx="1.865" cy="1.865" r="1.865" transform="translate(0 21.482)"/><path class="g" d="M36.663,36.663a.933.933,0,0,1-.885-.638l-.048-.143a2.946,2.946,0,0,0-2.8-2.017.933.933,0,1,1,0-1.865A4.808,4.808,0,0,1,37.5,35.292l.048.143a.933.933,0,0,1-.885,1.228Z" transform="translate(-31.067 -31.968)"/><path class="g" d="M79.493,194.438a.929.929,0,0,1-.506-.15l-.185-.12a2.074,2.074,0,0,0-2.192-.047.933.933,0,0,1-.947-1.607,3.929,3.929,0,0,1,4.153.088l.185.12a.933.933,0,0,1-.508,1.716Z" transform="translate(-69.235 -173.283)"/><path class="h" d="M27.751,85.141l2.88,2.644,3.811-.874-1.624,3.556,2.008,3.354-3.884-.446-2.569,2.946L27.6,92.49,24,90.957l3.4-1.922Z" transform="translate(-24 -78.914)"/><path class="h" d="M82.174,227.375l-.959,3.772,2.564,2.928-3.884.254L77.9,237.673l-1.442-3.615-3.8-.862,2.993-2.488-.353-3.876,3.291,2.078Z" transform="translate(-66.992 -204.086)"/><path class="i" d="M300.471,141.9l-5.455-5.09,5.09-5.456a8.342,8.342,0,0,1,5.455,5.09Z" transform="translate(-263.422 -119.737)"/></svg>'}),a("div",{slot:"title",class:"s-loyalty-header-title"},this.loyaltyProgram.prize_promotion_title),a("div",{slot:"subtitle",class:"s-loyalty-header-subtitle"},this.loyaltyProgram.prize_promotion_description)),a("salla-tabs",{key:this.tabsKey},this.loyaltyProgram.prizes.map((t=>a("salla-tab-header",{slot:"header",name:t.title},a("span",null,t.title)))),this.loyaltyProgram.prizes.map(((t,e)=>a("salla-tab-content",{slot:"content",name:t.title},a("salla-slider",{class:"s-loyalty-slider",loop:!1,"controls-outer":!0,id:"loyalty-popup-slider-"+e,type:"carousel"},a("div",{slot:"items"},t.items.map((t=>this.prizeItem(t))))))))),"FREE_PRODUCT"===this.activeTabType?.toUpperCase()&&(salla.config.get("store.features")||[]).includes("loyalty-system-v2")?a("a",{href:salla.url.get(""),class:"s-loyalty-program-redeem-btn s-button-element s-button-btn s-button-solid s-button-wide s-button-primary s-button-wrap"},salla.lang.get("pages.loyalty_program.shop_now")):a("salla-button",{disabled:!this.selectedItem,width:"wide",class:"s-loyalty-program-redeem-btn",onClick:()=>this.openConfirmation()},salla.lang.get("pages.loyalty_program.exchange_points"))]:a("salla-placeholder",{class:"s-loyalty-placeholder",alignment:"center"},this.errorMessage?a("span",{slot:"description"},this.errorMessage):""))]}};s.style='/*!twlt*/.mb-5{margin-bottom:1.25rem}.outline{outline-style:solid}.s-loyalty-placeholder{display:flex;align-items:center;justify-content:center}.s-button-btn{position:relative;display:inline-flex;flex:1 1 0%;user-select:none;flex-direction:row-reverse;align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--s-radius, 0.25rem);border-style:solid;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:0.625rem;padding-top:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-button-btn:hover{opacity:0.8}.s-button-primary{border-width:1px;border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-primary-reverse)}.s-button-primary:hover{background-color:var(--color-primary-dark)}.s-button-wrap{pointer-events:none}.s-button-wrap svg{height:1.25rem;width:1.25rem;fill:currentColor}.s-button-element:not(:disabled):not([loading]){pointer-events:auto}.s-button-wide{width:100%}.s-loyalty-prize-item.swiper-slide{margin-left:5px;margin-right:5px;margin-bottom:0.5rem;display:flex;width:calc(33.33% - 10px);min-width:200px;cursor:pointer;flex-direction:column}.s-loyalty-prize-item.swiper-slide>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))}.s-loyalty-prize-item.swiper-slide{overflow:hidden;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));background-size:cover;padding:0px !important;text-align:center;font-size:1.875rem;line-height:2.25rem}.s-loyalty-prize-item-selected{--tw-translate-y:-0.125rem !important;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)) !important;border-width:1px;border-style:solid;border-color:var(--color-primary);--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);transition-property:all;transition-duration:300ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.s-loyalty-prize-item-selected .s-loyalty-prize-item-check{display:flex;align-items:center;justify-content:center;border-color:var(--color-primary)}.s-loyalty-prize-item-selected .s-loyalty-prize-item-check>div{height:0.625rem;width:0.625rem;border-radius:9999px;background-color:var(--color-primary)}.s-loyalty-prize-item-image{height:9rem;width:100%;background-size:cover;object-fit:cover}.s-loyalty-prize-item-title{padding-left:0.5rem;padding-right:0.5rem;font-size:1rem;line-height:1.5rem;font-weight:700}.s-loyalty-prize-item-subtitle{padding-left:0.5rem;padding-right:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:400;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-loyalty-prize-item-check{position:absolute;height:1rem;width:1rem;border-radius:9999px;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.s-loyalty-prize-item-check:where([dir="ltr"],[dir="ltr"] *){left:1.25rem}.s-loyalty-prize-item-check:where([dir="rtl"],[dir="rtl"] *){right:1.25rem}.s-loyalty-prize-item-points{margin-top:auto !important;display:flex;width:100%;align-items:center;justify-content:center;border-top-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:0.75rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;color:var(--color-primary)}.s-loyalty-program-redeem-btn{overflow:hidden;transition-property:all;transition-duration:300ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.s-loyalty-header{margin-bottom:1.25rem;display:block}@media (max-width: 768px){.s-loyalty-modal .s-modal-body{max-height:100%;overflow-y:scroll}}.s-loyalty-skeleton .s-list-tile-item-content{display:block;width:100%}.s-loyalty-header-icon{position:relative;display:flex;height:6rem;width:6rem;align-items:center;justify-content:center;border-radius:9999px;background-color:#ff9e011a}.s-loyalty-header-icon>img{height:3rem;width:3rem}.s-loyalty-header-title{margin-bottom:0.5rem;font-size:1.25rem;line-height:1.75rem}.s-loyalty-header-subtitle{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-loyalty-activator-icon{display:flex;height:3rem;width:3rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.s-loyalty-activator-icon>svg{fill:#fff}.s-loyalty-confirmation-modal-content .s-placeholder-title{margin-bottom:0.75rem}.s-loyalty-confirmation-modal-content .s-placeholder-icon svg b{--tw-text-opacity:1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.s-loyalty-confirmation-modal-content .s-placeholder-description{padding-left:1.25rem;padding-right:1.25rem}.s-loyalty-confirmation-actions{margin-top:1.25rem;display:flex;align-items:center;justify-content:space-between}.s-loyalty-confirmation-actions>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.s-loyalty-confirmation-actions{padding:1.25rem;padding-top:0.5rem}.s-loyalty-confirmation-actions:where([dir="rtl"],[dir="rtl"] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.s-loyalty-widget .s-list-tile-item{padding:0px !important}.s-loyalty-widget-icon{display:flex;height:4rem;width:4rem;align-items:center;justify-content:center;border-radius:9999px;background-color:var(--color-primary)}.s-loyalty-widget-icon>svg{width:1.5rem;fill:#fff}.s-loyalty-after-exchange .s-list-tile-item{position:relative;justify-content:space-between;overflow:hidden;border-radius:var(--s-radius, 0.25rem);padding-top:0.75rem;padding-bottom:0.75rem}.s-loyalty-after-exchange .s-list-tile-item::after{pointer-events:none;position:absolute;inset:0px;display:block;height:100%;width:100%;background-color:var(--color-primary);opacity:.08;--tw-content:\'\';content:var(--tw-content)}.s-loyalty-after-exchange .s-list-tile-item .s-list-tile-item-title{font-size:15px}.s-loyalty-after-exchange-reset{height:1.5rem}.s-loyalty-after-exchange-reset button{--tw-border-opacity:1;border-color:rgb(248 113 113 / var(--tw-border-opacity, 1));font-size:15px}.s-loyalty-after-exchange-reset button span{display:flex;--tw-scale-x:.75;--tw-scale-y:.75;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));align-items:center;justify-content:center}.s-loyalty-after-exchange-reset button svg{height:1.5rem !important;width:1.5rem !important;fill:#f87171}.s-loyalty-after-exchange-reset button:hover svg{fill:#fff}.s-loyalty-after-exchange-action{display:flex;align-items:center;justify-content:center}.s-loyalty-placeholder{display:flex;align-items:center;justify-content:center}.s-loyalty-skeleton .s-loyalty-header-subtitle>salla-skeleton{margin-bottom:0.75rem;display:block}.s-loyalty-skeleton .s-loyalty-prize-item-subtitle>salla-skeleton{margin-bottom:0.75rem;display:block}.s-loyalty-skeleton .s-loyalty-header-title{margin-bottom:1.25rem}.s-loyalty-skeleton-cards{display:flex;align-items:center}.s-loyalty-skeleton .s-loyalty-prize-item{position:relative;cursor:unset !important;text-align:center}.s-loyalty-skeleton .s-loyalty-prize-item .s-skeleton-wrapper{margin-left:auto;margin-right:auto}.s-loyalty-skeleton .s-loyalty-prize-item-check{border-width:0px}.s-loyalty-slider{margin-bottom:0.625rem;display:block}.s-loyalty-slider .swiper-wrapper{height:auto !important}.s-loyalty-container{padding:0.625rem}.s-loyalty-points-history-no-content .icon{margin-bottom:1rem;display:flex;height:8rem;width:8rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));font-size:3rem;line-height:1;--tw-text-opacity:1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}';export{s as salla_loyalty}
|
|
4
|
+
import{r as t,h as a}from"./p-BC0OSCdw.js";import{S as e}from"./p-D4oPi1Ov.js";import{C as l}from"./p-BsLF_HK7.js";const s=class{constructor(a){t(this,a),this.activeTabType="",this.tabsKey=0,this.selectedItem=void 0,this.allowEmail=!0,this.allowMobile=!0,this.requireEmail=!1,salla.event.on("loyalty::open",(()=>this.open())),salla.auth.event.onLoggedIn((()=>{this.is_loggedin=!0})),salla.onReady((()=>{this.is_loggedin=salla.config.isUser()})),salla.lang.onLoaded((()=>{this.guestMessage=salla.lang.get("pages.loyalty_program.guest_message"),this.translationLoaded=!0})),salla.cart.event.onUpdated((t=>{this.prizePoints=t.loyalty.prize?.points,this.prizeTitle=t.loyalty.prize?.title,this.customerPoints=t.loyalty.customer_points||this.customerPoints}))}onTabSelected(t){const a=this.loyaltyProgram?.prizes.find((a=>a.title===t.detail?.name));a&&(this.activeTabType=a.type)}setSelectedPrizeItem(t){this.selectedItem=this.selectedItem&&this.selectedItem?.id==t.id?void 0:t}handleLongText(t){return t.length>150?t.substring(0,150)+"...":t}prizeItem(t){return a("div",{onClick:()=>this.setSelectedPrizeItem(t),class:{"s-loyalty-prize-item-selected":!!this.selectedItem&&this.selectedItem?.id==t.id,"s-loyalty-prize-item":!0}},a("img",{class:"s-loyalty-prize-item-image",src:t.image,alt:t.name}),a("div",{class:"s-loyalty-prize-item-title"},t.name),a("div",{class:"s-loyalty-prize-item-subtitle"},this.handleLongText(t.description)),a("div",{class:"s-loyalty-prize-item-points"},t.cost_points," ",salla.lang.get("pages.loyalty_program.point"),a("div",{class:"s-loyalty-prize-item-check"},a("div",null))))}getConfirmationModal(){return[a("salla-placeholder",{alignment:"center",icon:'<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80" viewBox="0 0 80 80">\n<title>star3</title>\n <defs>\n <style>\n .a {\n fill: none !important;\n }\n\n .b {\n fill: #ff9e01;\n }\n\n .c {\n fill: #fff;\n opacity: 0.1;\n }\n\n </style>\n </defs>\n <g transform="translate(-683 -269)">\n <rect class="a" width="80" height="80" transform="translate(683 269)" />\n <g transform="translate(684.539 261.216)">\n <path class="b"\n d="M110.117,37.062,90.024,35.2,82.043,16.665a1.61,1.61,0,0,0-2.958,0L71.1,35.2,51.011,37.062a1.61,1.61,0,0,0-.914,2.813l15.16,13.318L60.821,72.878a1.61,1.61,0,0,0,2.393,1.739l17.351-10.3,17.351,10.3a1.61,1.61,0,0,0,2.393-1.739L95.871,53.192l15.16-13.318A1.61,1.61,0,0,0,110.117,37.062Z"\n transform="translate(-42.104 -4.011)" />\n <g transform="translate(0 10.971)">\n <path class="b"\n d="M93.54,12.016c1.024,1.423,3.915,7.533,5.568,11.094a.559.559,0,0,1-.891.641c-2.853-2.7-7.73-7.377-8.754-8.8a2.512,2.512,0,0,1,4.077-2.935Z"\n transform="translate(-75.621 -10.971)" />\n <path class="b"\n d="M360.909,12.016c-1.024,1.423-3.915,7.533-5.568,11.094a.559.559,0,0,0,.891.641c2.853-2.7,7.73-7.377,8.754-8.8a2.512,2.512,0,0,0-4.077-2.935Z"\n transform="translate(-301.908 -10.971)" />\n <path class="b"\n d="M427.538,284.659c-1.667-.543-8.366-1.441-12.261-1.934a.559.559,0,0,0-.34,1.044c3.436,1.9,9.377,5.123,11.044,5.666a2.512,2.512,0,0,0,1.558-4.776Z"\n transform="translate(-352.351 -241.894)" />\n <path class="b"\n d="M1.734,284.659c1.667-.543,8.366-1.441,12.261-1.934a.559.559,0,0,1,.34,1.044c-3.436,1.9-9.377,5.123-11.044,5.666a2.512,2.512,0,0,1-1.558-4.776Z"\n transform="translate(0 -241.894)" />\n <path class="b"\n d="M239.794,412.414c0-1.753,1.224-8.4,1.963-12.257a.559.559,0,0,1,1.1,0c.739,3.855,1.963,10.5,1.963,12.257a2.512,2.512,0,0,1-5.023,0Z"\n transform="translate(-203.768 -341.301)" />\n </g>\n <path class="c"\n d="M84.945,23.4l-2.9-6.74a1.61,1.61,0,0,0-2.958,0L71.1,35.2,51.011,37.062a1.61,1.61,0,0,0-.914,2.813l15.16,13.318L60.821,72.878a1.61,1.61,0,0,0,2.393,1.739l2.309-1.371A125,125,0,0,1,84.945,23.4Z"\n transform="translate(-42.104 -4.011)" />\n </g>\n </g>\n</svg>\n',class:"s-loyalty-confirmation-modal-content"},a("div",{slot:"title",class:"s-loyalty-confirmation-title"},salla.lang.get("pages.loyalty_program.exchange_points")),a("div",{slot:"description"},salla.lang.get("pages.loyalty_program.are_you_sure_to_exchange")," ( ",a("strong",null,this.selectedItem?.cost_points)," ",salla.lang.get("pages.loyalty_program.point")," ) ",salla.lang.get("pages.loyalty_program.for")," ( ",a("strong",null,this.selectedItem?.name)," )")),a("div",{class:"s-loyalty-confirmation-actions"},a("salla-button",{fill:"outline",width:"wide",onClick:()=>this.cancelProcess()},salla.lang.get("pages.loyalty_program.cancellation")),a("salla-button",{loading:this.buttonLoading,width:"wide",onClick:()=>this.exchangeLoyaltyPoint()},salla.lang.get("pages.loyalty_program.confirm")))]}getAfterExchangeUI(){return a("slot",{name:"points-applied-widget"},a("salla-list-tile",{class:"s-loyalty-after-exchange"},a("div",{slot:"title",class:"s-loyalty-after-exchange-title"},this.prizeTitle," - ",this.prizePoints," ",salla.lang.get("pages.loyalty_program.point")),a("div",{slot:"action",class:"s-loyalty-after-exchange-action"},a("salla-button",{class:"s-loyalty-after-exchange-reset",shape:"icon",fill:"outline",color:"danger",size:"small",onClick:()=>this.resetExchange()},a("span",{innerHTML:l})))))}async open(){return this.is_loggedin?(this.modal?.open(),await salla.loyalty.getProgram().then((t=>{this.loyaltyProgram=t.data,this.activeTabType=this.loyaltyProgram.prizes[0]?.type||"",this.tabsKey++})).catch((t=>{this.hasError=!0,this.errorMessage=t.response?.data?.error?.message||t.response?.data})).finally((()=>this.modal?.stopLoading()))):salla.event.dispatch("login::open")}async close(){return this.modal.close()}async resetExchange(){return await salla.loyalty.reset()}getApiErrorMessage(t){return t?.response?.data?.error?.message||t?.response?.data?.message||("string"==typeof t?t:null)||salla.lang.get("common.errors.error_occurred")}async openConfirmation(){return await this.modal.close().then((()=>this.confirmationModal?.open())).catch((t=>console.log(t)))}async cancelProcess(){return await this.confirmationModal.close().then((()=>this.selectedItem=null)).catch((t=>console.log(t)))}async exchangeLoyaltyPoint(){this.buttonLoading=!0;const t=this.selectedItem;await salla.loyalty.exchange(t?.id).then((async()=>{"FREE_PRODUCT"==t?.key&&salla.url.is_page("cart")&&window.location.reload(),await this.cancelProcess()})).catch((t=>{salla.notify.error(this.getApiErrorMessage(t))})),this.buttonLoading=!1}render(){return this.prizePoints?this.getAfterExchangeUI():[a("slot",{name:"widget"},this.customerPoints?a("salla-list-tile",{class:"s-loyalty-widget"},a("div",{slot:"icon",class:"s-loyalty-widget-icon",innerHTML:e}),a("div",{slot:"subtitle"},this.customerPoints?salla.lang.get("pages.loyalty_program.cart_total_point_summary",{balance:this.customerPoints}):this.guestMessage,a("salla-button",{shape:"link",color:"primary",onClick:()=>salla.event.dispatch("loyalty::open")},this.customerPoints?salla.lang.get("pages.loyalty_program.cart_point_exchange_now"):salla.lang.get("blocks.header.login")))):""),a("salla-modal",{noPadding:!0,width:"sm",ref:t=>this.confirmationModal=t},this.getConfirmationModal()),a("salla-modal",{isLoading:!0,"has-skeleton":!0,width:"md",ref:t=>this.modal=t},a("div",{slot:"loading"},a("div",{class:"s-loyalty-skeleton"},a("salla-list-tile",{class:"s-loyalty-header"},a("div",{slot:"icon",class:"s-loyalty-header-icon"},a("salla-skeleton",{type:"circle",height:"6rem",width:"6rem"})),a("div",{slot:"title",class:"s-loyalty-header-title mb-5"},a("salla-skeleton",{height:"15px",width:"50%"})),a("div",{slot:"subtitle",class:"s-loyalty-header-subtitle"},a("salla-skeleton",{height:"10px"}),a("salla-skeleton",{height:"10px",width:"75%"}))),a("div",{class:"s-loyalty-skeleton-cards"},[...Array(3)].map((()=>a("div",{class:"s-loyalty-prize-item swiper-slide"},a("salla-skeleton",{height:"9rem"}),a("div",{class:"s-loyalty-prize-item-title"},a("salla-skeleton",{height:"15px",width:"75%"})),a("div",{class:"s-loyalty-prize-item-subtitle"},a("salla-skeleton",{height:"10px",width:"50%"}),a("salla-skeleton",{height:"10px",width:"25%"})),a("div",{class:"s-loyalty-prize-item-points"},a("salla-skeleton",{height:"15px",width:"100px"}),a("div",{class:"s-loyalty-prize-item-check"},a("salla-skeleton",{height:"1rem",width:"1rem",type:"circle"}))))))))),!this.hasError&&this.loyaltyProgram?[a("salla-list-tile",{id:"s-loyalty-header",class:"s-loyalty-header"},a("div",{slot:"icon",class:"s-loyalty-header-icon",innerHTML:'<svg xmlns="http://www.w3.org/2000/svg" width="54.079" height="53.191" viewBox="0 0 54.079 53.191"><defs><style>.a{fill:#ee9d0d;}.b{fill:#c7830b;}.c{fill:#ea2b2d;}.d{fill:#cb2527;}.e{fill:#6699ce;}.f{fill:#faa6b2;}.g{fill:#a6deff;}.h{fill:#eeb436;}.i{fill:#f72d2f;}</style></defs><path class="a" d="M40,248H77.3v25.88a2.1,2.1,0,0,1-2.1,2.1H42.1a2.1,2.1,0,0,1-2.1-2.1Z" transform="translate(-38.135 -222.787)"/><path class="b" d="M250.632,248.711v12.755L236.2,248h13.67Z" transform="translate(-211.463 -222.787)"/><path class="b" d="M333.957,336v3.207L330.52,336Z" transform="translate(-294.787 -300.528)"/><path class="c" d="M226.194,32.048l-.5.185a5.035,5.035,0,0,0-3.072,3.292l-.468,1.585-.759.414a5.035,5.035,0,0,0-2.422,3l8.865,8.271,5.09-5.456.262-6.205a5.191,5.191,0,0,0-7-5.083Z" transform="translate(-196.246 -31.722)"/><path class="c" d="M358.628,175.48l-.15.509a5.034,5.034,0,0,1-3.072,3.292l-1.55.577-.359.785a5.034,5.034,0,0,1-2.822,2.624L341.81,175l5.09-5.455,6.172-.69a5.191,5.191,0,0,1,5.555,6.629Z" transform="translate(-304.761 -152.837)"/><path class="d" d="M168,248h7.461v27.978H168Z" transform="translate(-151.213 -222.787)"/><path class="c" d="M40,336H77.3v7.461H40Z" transform="translate(-38.135 -300.528)"/><path class="d" d="M333.957,336v3.207L330.52,336Z" transform="translate(-294.787 -300.528)"/><path class="a" d="M2.1,0H40.8a2.1,2.1,0,0,1,2.1,2.1V9.326H0V2.1A2.1,2.1,0,0,1,2.1,0Z" transform="matrix(0.731, 0.682, -0.682, 0.731, 18.641, 4.976)"/><path class="d" d="M0,0H9.326V9.326H0Z" transform="matrix(0.731, 0.682, -0.682, 0.731, 30.912, 16.424)"/><path class="d" d="M286.857,79.389a.931.931,0,0,1-.74-.365l-.615-.8a12.516,12.516,0,0,1-2.528-9,.933.933,0,0,1,1.855.2,10.66,10.66,0,0,0,2.153,7.667l.615.8a.933.933,0,0,1-.739,1.5Z" transform="translate(-252.718 -64.113)"/><path class="c" d="M185.485,178.151l-.039.014a30.78,30.78,0,0,1-12.034,1.906l-2.381-.1,4.092,3.817-1.181,4,3.728-1.206a30.775,30.775,0,0,0,9.833-5.315l.71-.572Z" transform="translate(-153.891 -161.081)"/><path class="d" d="M363.834,194.779a12.51,12.51,0,0,1-6.93-2.1l-.843-.559a.933.933,0,1,1,1.031-1.554l.842.558a10.659,10.659,0,0,0,7.8,1.618.933.933,0,1,1,.328,1.836A12.663,12.663,0,0,1,363.834,194.779Z" transform="translate(-316.982 -171.914)"/><path class="c" d="M275,202.524l-.012.04a30.776,30.776,0,0,0-1.069,12.137l.265,2.369-4.092-3.817-3.909,1.455.945-3.8a30.776,30.776,0,0,1,4.622-10.177l.521-.748Z" transform="translate(-237.949 -180.364)"/><circle class="e" cx="1.865" cy="1.865" r="1.865" transform="translate(10.259 0.032)"/><circle class="f" cx="1.865" cy="1.865" r="1.865" transform="translate(0 21.482)"/><path class="g" d="M36.663,36.663a.933.933,0,0,1-.885-.638l-.048-.143a2.946,2.946,0,0,0-2.8-2.017.933.933,0,1,1,0-1.865A4.808,4.808,0,0,1,37.5,35.292l.048.143a.933.933,0,0,1-.885,1.228Z" transform="translate(-31.067 -31.968)"/><path class="g" d="M79.493,194.438a.929.929,0,0,1-.506-.15l-.185-.12a2.074,2.074,0,0,0-2.192-.047.933.933,0,0,1-.947-1.607,3.929,3.929,0,0,1,4.153.088l.185.12a.933.933,0,0,1-.508,1.716Z" transform="translate(-69.235 -173.283)"/><path class="h" d="M27.751,85.141l2.88,2.644,3.811-.874-1.624,3.556,2.008,3.354-3.884-.446-2.569,2.946L27.6,92.49,24,90.957l3.4-1.922Z" transform="translate(-24 -78.914)"/><path class="h" d="M82.174,227.375l-.959,3.772,2.564,2.928-3.884.254L77.9,237.673l-1.442-3.615-3.8-.862,2.993-2.488-.353-3.876,3.291,2.078Z" transform="translate(-66.992 -204.086)"/><path class="i" d="M300.471,141.9l-5.455-5.09,5.09-5.456a8.342,8.342,0,0,1,5.455,5.09Z" transform="translate(-263.422 -119.737)"/></svg>'}),a("div",{slot:"title",class:"s-loyalty-header-title"},this.loyaltyProgram.prize_promotion_title),a("div",{slot:"subtitle",class:"s-loyalty-header-subtitle"},this.loyaltyProgram.prize_promotion_description)),a("salla-tabs",{key:this.tabsKey},this.loyaltyProgram.prizes.map((t=>a("salla-tab-header",{slot:"header",name:t.title},a("span",null,t.title)))),this.loyaltyProgram.prizes.map(((t,e)=>a("salla-tab-content",{slot:"content",name:t.title},a("salla-slider",{class:"s-loyalty-slider",loop:!1,"controls-outer":!0,id:"loyalty-popup-slider-"+e,type:"carousel"},a("div",{slot:"items"},t.items.map((t=>this.prizeItem(t))))))))),"FREE_PRODUCT"===this.activeTabType?.toUpperCase()&&(salla.config.get("store.features")||[]).includes("loyalty-system-v2")?a("a",{href:salla.url.get(""),class:"s-loyalty-program-redeem-btn s-button-element s-button-btn s-button-solid s-button-wide s-button-primary s-button-wrap"},salla.lang.get("pages.loyalty_program.shop_now")):a("salla-button",{disabled:!this.selectedItem,width:"wide",class:"s-loyalty-program-redeem-btn",onClick:()=>this.openConfirmation()},salla.lang.get("pages.loyalty_program.exchange_points"))]:a("salla-placeholder",{class:"s-loyalty-placeholder",alignment:"center"},this.errorMessage?a("span",{slot:"description"},this.errorMessage):""))]}};s.style='/*!twlt*/.mb-5{margin-bottom:1.25rem}.outline{outline-style:solid}.s-loyalty-placeholder{display:flex;align-items:center;justify-content:center}.s-button-btn{position:relative;display:inline-flex;flex:1 1 0%;user-select:none;flex-direction:row-reverse;align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--s-radius, 0.25rem);border-style:solid;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:0.625rem;padding-top:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-button-btn:hover{opacity:0.8}.s-button-primary{border-width:1px;border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-primary-reverse)}.s-button-primary:hover{background-color:var(--color-primary-dark)}.s-button-wrap{pointer-events:none}.s-button-wrap svg{height:1.25rem;width:1.25rem;fill:currentColor}.s-button-element:not(:disabled):not([loading]){pointer-events:auto}.s-button-wide{width:100%}.s-loyalty-prize-item.swiper-slide{margin-left:5px;margin-right:5px;margin-bottom:0.5rem;display:flex;width:calc(33.33% - 10px);min-width:200px;cursor:pointer;flex-direction:column}.s-loyalty-prize-item.swiper-slide>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))}.s-loyalty-prize-item.swiper-slide{overflow:hidden;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));background-size:cover;padding:0px !important;text-align:center;font-size:1.875rem;line-height:2.25rem}.s-loyalty-prize-item-selected{--tw-translate-y:-0.125rem !important;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)) !important;border-width:1px;border-style:solid;border-color:var(--color-primary);--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);transition-property:all;transition-duration:300ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.s-loyalty-prize-item-selected .s-loyalty-prize-item-check{display:flex;align-items:center;justify-content:center;border-color:var(--color-primary)}.s-loyalty-prize-item-selected .s-loyalty-prize-item-check>div{height:0.625rem;width:0.625rem;border-radius:9999px;background-color:var(--color-primary)}.s-loyalty-prize-item-image{height:9rem;width:100%;background-size:cover;object-fit:cover}.s-loyalty-prize-item-title{padding-left:0.5rem;padding-right:0.5rem;font-size:1rem;line-height:1.5rem;font-weight:700}.s-loyalty-prize-item-subtitle{padding-left:0.5rem;padding-right:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:400;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-loyalty-prize-item-check{position:absolute;height:1rem;width:1rem;border-radius:9999px;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.s-loyalty-prize-item-check:where([dir="ltr"],[dir="ltr"] *){left:1.25rem}.s-loyalty-prize-item-check:where([dir="rtl"],[dir="rtl"] *){right:1.25rem}.s-loyalty-prize-item-points{margin-top:auto !important;display:flex;width:100%;align-items:center;justify-content:center;border-top-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:0.75rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;color:var(--color-primary)}.s-loyalty-program-redeem-btn{overflow:hidden;transition-property:all;transition-duration:300ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.s-loyalty-header{margin-bottom:1.25rem;display:block}@media (max-width: 768px){.s-loyalty-modal .s-modal-body{max-height:100%;overflow-y:scroll}}.s-loyalty-skeleton .s-list-tile-item-content{display:block;width:100%}.s-loyalty-header-icon{position:relative;display:flex;height:6rem;width:6rem;align-items:center;justify-content:center;border-radius:9999px;background-color:#ff9e011a}.s-loyalty-header-icon>img{height:3rem;width:3rem}.s-loyalty-header-title{margin-bottom:0.5rem;font-size:1.25rem;line-height:1.75rem}.s-loyalty-header-subtitle{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-loyalty-activator-icon{display:flex;height:3rem;width:3rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.s-loyalty-activator-icon>svg{fill:#fff}.s-loyalty-confirmation-modal-content .s-placeholder-title{margin-bottom:0.75rem}.s-loyalty-confirmation-modal-content .s-placeholder-icon svg b{--tw-text-opacity:1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.s-loyalty-confirmation-modal-content .s-placeholder-description{padding-left:1.25rem;padding-right:1.25rem}.s-loyalty-confirmation-actions{margin-top:1.25rem;display:flex;align-items:center;justify-content:space-between}.s-loyalty-confirmation-actions>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.s-loyalty-confirmation-actions{padding:1.25rem;padding-top:0.5rem}.s-loyalty-confirmation-actions:where([dir="rtl"],[dir="rtl"] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.s-loyalty-widget .s-list-tile-item{padding:0px !important}.s-loyalty-widget-icon{display:flex;height:4rem;width:4rem;align-items:center;justify-content:center;border-radius:9999px;background-color:var(--color-primary)}.s-loyalty-widget-icon>svg{width:1.5rem;fill:#fff}.s-loyalty-after-exchange .s-list-tile-item{position:relative;justify-content:space-between;overflow:hidden;border-radius:var(--s-radius, 0.25rem);padding-top:0.75rem;padding-bottom:0.75rem}.s-loyalty-after-exchange .s-list-tile-item::after{pointer-events:none;position:absolute;inset:0px;display:block;height:100%;width:100%;background-color:var(--color-primary);opacity:.08;--tw-content:\'\';content:var(--tw-content)}.s-loyalty-after-exchange .s-list-tile-item .s-list-tile-item-title{font-size:15px}.s-loyalty-after-exchange-reset{height:1.5rem}.s-loyalty-after-exchange-reset button{--tw-border-opacity:1;border-color:rgb(248 113 113 / var(--tw-border-opacity, 1));font-size:15px}.s-loyalty-after-exchange-reset button span{display:flex;--tw-scale-x:.75;--tw-scale-y:.75;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));align-items:center;justify-content:center}.s-loyalty-after-exchange-reset button svg{height:1.5rem !important;width:1.5rem !important;fill:#f87171}.s-loyalty-after-exchange-reset button:hover svg{fill:#fff}.s-loyalty-after-exchange-action{display:flex;align-items:center;justify-content:center}.s-loyalty-placeholder{display:flex;align-items:center;justify-content:center}.s-loyalty-skeleton .s-loyalty-header-subtitle>salla-skeleton{margin-bottom:0.75rem;display:block}.s-loyalty-skeleton .s-loyalty-prize-item-subtitle>salla-skeleton{margin-bottom:0.75rem;display:block}.s-loyalty-skeleton .s-loyalty-header-title{margin-bottom:1.25rem}.s-loyalty-skeleton-cards{display:flex;align-items:center}.s-loyalty-skeleton .s-loyalty-prize-item{position:relative;cursor:unset !important;text-align:center}.s-loyalty-skeleton .s-loyalty-prize-item .s-skeleton-wrapper{margin-left:auto;margin-right:auto}.s-loyalty-skeleton .s-loyalty-prize-item-check{border-width:0px}.s-loyalty-slider{margin-bottom:0.625rem;display:block}.s-loyalty-slider .swiper-wrapper{height:auto !important}.s-loyalty-container{padding:0.625rem}.s-loyalty-points-history-no-content .icon{margin-bottom:1rem;display:flex;height:8rem;width:8rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));font-size:3rem;line-height:1;--tw-text-opacity:1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}';export{s as salla_loyalty}
|