@salla.sa/twilight-components 3.0.25 → 3.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{Helper-BSFw7uVh.js → Helper-CFeUiEPn.js} +1 -1
- package/dist/cjs/{filepond-DzJcpvBM.js → filepond-Cn3JTrL1.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-poster-BILkbyw_.js → filepond-plugin-file-poster-BOIM6p80.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-size-DIJUAZji.js → filepond-plugin-file-validate-size-YTjl_kR1.js} +1 -1
- package/dist/cjs/{filepond-plugin-file-validate-type-4lpOf3hf.js → filepond-plugin-file-validate-type-ByB9Nk2o.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-edit-DtE3Wj_4.js → filepond-plugin-image-edit-DT7UG1he.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-exif-orientation-Dc_jwifJ.js → filepond-plugin-image-exif-orientation-CNqCjRvG.js} +1 -1
- package/dist/cjs/{filepond-plugin-image-preview-D_8qt0dd.js → filepond-plugin-image-preview-dsQXwutz.js} +1 -1
- package/dist/cjs/{index-D0d25H-r.js → index-DF5Yp06H.js} +6 -6
- package/dist/cjs/info-Do5bVPmK.js +13 -0
- package/dist/cjs/{intlTelInput-DqmuleM6.js → intlTelInput-CRlVjvSW.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-accordion-body_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-accordion_6.cjs.entry.js +2 -2
- package/dist/cjs/salla-add-product-button_5.cjs.entry.js +2 -2
- package/dist/cjs/salla-advertisement.cjs.entry.js +1 -1
- package/dist/cjs/salla-alert_2.cjs.entry.js +3 -9
- package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-applied-filters.cjs.entry.js +2 -2
- package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
- package/dist/cjs/salla-attachment-view_9.cjs.entry.js +11 -11
- package/dist/cjs/salla-badge.cjs.entry.js +1 -1
- package/dist/cjs/salla-basket-gap.cjs.entry.js +1 -1
- package/dist/cjs/salla-bullet-delivery_3.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-coupons.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-item-offers_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-cart-summary-card.cjs.entry.js +120 -5
- package/dist/cjs/salla-cashback-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-comment-factors.cjs.entry.js +1 -1
- package/dist/cjs/salla-comment-form_9.cjs.entry.js +2 -2
- package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
- package/dist/cjs/salla-cookies-bar.cjs.entry.js +1 -1
- package/dist/cjs/salla-count-down.cjs.entry.js +1 -1
- package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
- package/dist/cjs/salla-delivery-promise.cjs.entry.js +1 -1
- package/dist/cjs/salla-edit-order-button.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters-widget.cjs.entry.js +2 -2
- package/dist/cjs/salla-filters.cjs.entry.js +2 -2
- package/dist/cjs/salla-free-shipping-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-free-shipping-tag.cjs.entry.js +1 -1
- package/dist/cjs/salla-fulfillment-methods.cjs.entry.js +1 -1
- package/dist/cjs/salla-gift-card-redeem_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-gifting.cjs.entry.js +1 -1
- package/dist/cjs/salla-hook.cjs.entry.js +1 -1
- package/dist/cjs/salla-infinite-scroll.cjs.entry.js +2 -2
- package/dist/cjs/salla-installment.cjs.entry.js +1 -1
- package/dist/cjs/salla-list-tile.cjs.entry.js +1 -1
- package/dist/cjs/salla-localization-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-login-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-banner_10.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-exchange-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-points-banner.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-points-history.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-loyalty.cjs.entry.js +1 -1
- package/dist/cjs/salla-maintenance-alert.cjs.entry.js +1 -1
- package/dist/cjs/salla-map_3.cjs.entry.js +1 -1
- package/dist/cjs/salla-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
- package/dist/cjs/salla-mobile-update-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-cart_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product-options-modal_2.cjs.entry.js +1 -1
- package/dist/cjs/salla-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-next-order-coupon.cjs.entry.js +1 -1
- package/dist/cjs/salla-notification-item_2.cjs.entry.js +2 -2
- package/dist/cjs/salla-offer-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-branch.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-cancel.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-edit.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-items.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-options-modal.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-payment.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-rewards.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-shipments.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
- package/dist/cjs/salla-order-totals-card.cjs.entry.js +27 -6
- package/dist/cjs/salla-orders.cjs.entry.js +2 -2
- package/dist/cjs/salla-payments.cjs.entry.js +1 -1
- package/dist/cjs/salla-placeholder.cjs.entry.js +1 -1
- package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-card-embed.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-product-size-guide.cjs.entry.js +1 -1
- package/dist/cjs/salla-products-list.cjs.entry.js +2 -2
- package/dist/cjs/salla-products-slider.cjs.entry.js +2 -2
- package/dist/cjs/salla-quick-order.cjs.entry.js +1 -1
- package/dist/cjs/salla-rating-modal-v2.cjs.entry.js +2 -2
- package/dist/cjs/salla-rating-modal.cjs.entry.js +2 -2
- package/dist/cjs/salla-review-factors-tags.cjs.entry.js +1 -1
- package/dist/cjs/salla-review-order-item.cjs.entry.js +1 -1
- package/dist/cjs/salla-scopes.cjs.entry.js +1 -1
- package/dist/cjs/salla-search-product-card.cjs.entry.js +1 -1
- package/dist/cjs/salla-search.cjs.entry.js +2 -2
- package/dist/cjs/salla-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/salla-social-share.cjs.entry.js +1 -1
- package/dist/cjs/salla-social.cjs.entry.js +1 -1
- package/dist/cjs/salla-tab-content_3.cjs.entry.js +1 -1
- package/dist/cjs/salla-thank-you-header.cjs.entry.js +1 -1
- package/dist/cjs/salla-thank-you-page.cjs.entry.js +1 -1
- package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
- package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-menu.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-profile.cjs.entry.js +1 -1
- package/dist/cjs/salla-user-settings.cjs.entry.js +1 -1
- package/dist/cjs/salla-verify.cjs.entry.js +1 -1
- package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
- package/dist/cjs/salla-wishlist-actions.cjs.entry.js +1 -1
- package/dist/cjs/salla-wishlist-summary.cjs.entry.js +2 -2
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/cjs/{vanilla-picker-DP9Hy8IR.js → vanilla-picker-qYmOs8Yb.js} +1 -1
- package/dist/collection/components/salla-cart-summary-card/salla-cart-summary-card.css +152 -59
- package/dist/collection/components/salla-cart-summary-card/salla-cart-summary-card.js +123 -4
- package/dist/collection/components/salla-order-totals-card/salla-order-totals-card.css +3 -0
- package/dist/collection/components/salla-order-totals-card/salla-order-totals-card.js +25 -4
- package/dist/components/index.js +2 -2
- package/dist/components/info.js +11 -0
- package/dist/components/salla-bottom-alert.js +2 -8
- package/dist/components/salla-cart-summary-card.js +124 -5
- package/dist/components/salla-order-totals-card.js +26 -5
- package/dist/docs.json +3 -3
- package/dist/esm/{Helper-DmnUAusv.js → Helper-DE5KHY4U.js} +1 -1
- package/dist/esm/{filepond-DZbzdjkK.js → filepond-DbayHaoA.js} +1 -1
- package/dist/esm/{filepond-plugin-file-poster-D9cjvoj-.js → filepond-plugin-file-poster-Dy8NIhDv.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-size-D-kjllC-.js → filepond-plugin-file-validate-size-Bn4zxXDf.js} +1 -1
- package/dist/esm/{filepond-plugin-file-validate-type-D9hsNaJl.js → filepond-plugin-file-validate-type-DmygkxtH.js} +1 -1
- package/dist/esm/{filepond-plugin-image-edit-CDHAxJY8.js → filepond-plugin-image-edit-BuO-l19h.js} +1 -1
- package/dist/esm/{filepond-plugin-image-exif-orientation-BGKiclwK.js → filepond-plugin-image-exif-orientation-COCmniWP.js} +1 -1
- package/dist/esm/{filepond-plugin-image-preview-BUjvnt8G.js → filepond-plugin-image-preview-D1i9Fj6F.js} +1 -1
- package/dist/esm/{index-ze9e0dxM.js → index-DvJClBwJ.js} +6 -6
- package/dist/esm/info-OdOOjQZO.js +11 -0
- package/dist/esm/{intlTelInput-BkYRB6km.js → intlTelInput-WsfvuLBW.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/salla-accordion-body_2.entry.js +1 -1
- package/dist/esm/salla-accordion_6.entry.js +2 -2
- package/dist/esm/salla-add-product-button_5.entry.js +2 -2
- package/dist/esm/salla-advertisement.entry.js +1 -1
- package/dist/esm/salla-alert_2.entry.js +3 -9
- package/dist/esm/salla-app-install-alert.entry.js +1 -1
- package/dist/esm/salla-applied-filters.entry.js +2 -2
- package/dist/esm/salla-apps-icons.entry.js +1 -1
- package/dist/esm/salla-attachment-view_9.entry.js +11 -11
- package/dist/esm/salla-badge.entry.js +1 -1
- package/dist/esm/salla-basket-gap.entry.js +1 -1
- package/dist/esm/salla-bullet-delivery_3.entry.js +1 -1
- package/dist/esm/salla-cart-coupons.entry.js +1 -1
- package/dist/esm/salla-cart-item-offers_2.entry.js +1 -1
- package/dist/esm/salla-cart-summary-card.entry.js +120 -5
- package/dist/esm/salla-cashback-banner.entry.js +1 -1
- package/dist/esm/salla-comment-factors.entry.js +1 -1
- package/dist/esm/salla-comment-form_9.entry.js +2 -2
- package/dist/esm/salla-conditional-offer.entry.js +1 -1
- package/dist/esm/salla-contacts.entry.js +1 -1
- package/dist/esm/salla-cookies-bar.entry.js +1 -1
- package/dist/esm/salla-count-down.entry.js +1 -1
- package/dist/esm/salla-custom-fields.entry.js +1 -1
- package/dist/esm/salla-delivery-promise.entry.js +1 -1
- package/dist/esm/salla-edit-order-button.entry.js +1 -1
- package/dist/esm/salla-filters-widget.entry.js +2 -2
- package/dist/esm/salla-filters.entry.js +2 -2
- package/dist/esm/salla-free-shipping-banner.entry.js +1 -1
- package/dist/esm/salla-free-shipping-tag.entry.js +1 -1
- package/dist/esm/salla-fulfillment-methods.entry.js +1 -1
- package/dist/esm/salla-gift-card-redeem_2.entry.js +1 -1
- package/dist/esm/salla-gifting.entry.js +1 -1
- package/dist/esm/salla-hook.entry.js +1 -1
- package/dist/esm/salla-infinite-scroll.entry.js +2 -2
- package/dist/esm/salla-installment.entry.js +1 -1
- package/dist/esm/salla-list-tile.entry.js +1 -1
- package/dist/esm/salla-localization-modal.entry.js +1 -1
- package/dist/esm/salla-login-modal.entry.js +1 -1
- package/dist/esm/salla-loyalty-banner_10.entry.js +1 -1
- package/dist/esm/salla-loyalty-exchange-product-card.entry.js +1 -1
- package/dist/esm/salla-loyalty-points-banner.entry.js +1 -1
- package/dist/esm/salla-loyalty-points-history.entry.js +1 -1
- package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
- package/dist/esm/salla-loyalty.entry.js +1 -1
- package/dist/esm/salla-maintenance-alert.entry.js +1 -1
- package/dist/esm/salla-map_3.entry.js +1 -1
- package/dist/esm/salla-menu.entry.js +1 -1
- package/dist/esm/salla-metadata.entry.js +1 -1
- package/dist/esm/salla-mobile-update-modal.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-cart_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product-options-modal_2.entry.js +1 -1
- package/dist/esm/salla-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-next-order-coupon.entry.js +1 -1
- package/dist/esm/salla-notification-item_2.entry.js +2 -2
- package/dist/esm/salla-offer-modal.entry.js +1 -1
- package/dist/esm/salla-offer.entry.js +1 -1
- package/dist/esm/salla-order-branch.entry.js +1 -1
- package/dist/esm/salla-order-cancel.entry.js +1 -1
- package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
- package/dist/esm/salla-order-details-options.entry.js +1 -1
- package/dist/esm/salla-order-details.entry.js +1 -1
- package/dist/esm/salla-order-edit-item.entry.js +1 -1
- package/dist/esm/salla-order-edit-product-card.entry.js +1 -1
- package/dist/esm/salla-order-edit.entry.js +1 -1
- package/dist/esm/salla-order-items.entry.js +1 -1
- package/dist/esm/salla-order-options-modal.entry.js +1 -1
- package/dist/esm/salla-order-payment.entry.js +1 -1
- package/dist/esm/salla-order-rewards.entry.js +1 -1
- package/dist/esm/salla-order-shipments.entry.js +1 -1
- package/dist/esm/salla-order-summary.entry.js +1 -1
- package/dist/esm/salla-order-totals-card.entry.js +27 -6
- package/dist/esm/salla-orders.entry.js +2 -2
- package/dist/esm/salla-payments.entry.js +1 -1
- package/dist/esm/salla-placeholder.entry.js +1 -1
- package/dist/esm/salla-price-range.entry.js +1 -1
- package/dist/esm/salla-product-card-embed.entry.js +1 -1
- package/dist/esm/salla-product-card.entry.js +1 -1
- package/dist/esm/salla-product-size-guide.entry.js +1 -1
- package/dist/esm/salla-products-list.entry.js +2 -2
- package/dist/esm/salla-products-slider.entry.js +2 -2
- package/dist/esm/salla-quick-order.entry.js +1 -1
- package/dist/esm/salla-rating-modal-v2.entry.js +2 -2
- package/dist/esm/salla-rating-modal.entry.js +2 -2
- package/dist/esm/salla-review-factors-tags.entry.js +1 -1
- package/dist/esm/salla-review-order-item.entry.js +1 -1
- package/dist/esm/salla-scopes.entry.js +1 -1
- package/dist/esm/salla-search-product-card.entry.js +1 -1
- package/dist/esm/salla-search.entry.js +2 -2
- package/dist/esm/salla-skeleton.entry.js +1 -1
- package/dist/esm/salla-social-share.entry.js +1 -1
- package/dist/esm/salla-social.entry.js +1 -1
- package/dist/esm/salla-tab-content_3.entry.js +1 -1
- package/dist/esm/salla-thank-you-header.entry.js +1 -1
- package/dist/esm/salla-thank-you-page.entry.js +1 -1
- package/dist/esm/salla-tiered-offer.entry.js +1 -1
- package/dist/esm/salla-trust-badges.entry.js +1 -1
- package/dist/esm/salla-user-menu.entry.js +1 -1
- package/dist/esm/salla-user-profile.entry.js +1 -1
- package/dist/esm/salla-user-settings.entry.js +1 -1
- package/dist/esm/salla-verify.entry.js +1 -1
- package/dist/esm/salla-wallet.entry.js +1 -1
- package/dist/esm/salla-wishlist-actions.entry.js +1 -1
- package/dist/esm/salla-wishlist-summary.entry.js +2 -2
- package/dist/esm/twilight.js +3 -3
- package/dist/esm/{vanilla-picker-CxhuwWDi.js → vanilla-picker-DdilrJ6c.js} +1 -1
- package/dist/twilight/{p-bd06c200.entry.js → p-00c35c9f.entry.js} +1 -1
- package/dist/twilight/{p-67cf7454.entry.js → p-00f9aefc.entry.js} +1 -1
- package/dist/twilight/{p-da60995f.entry.js → p-029f809b.entry.js} +1 -1
- package/dist/twilight/{p-dceb3725.entry.js → p-02a06dcb.entry.js} +1 -1
- package/dist/twilight/{p-3ec3e9fb.entry.js → p-03dc3837.entry.js} +1 -1
- package/dist/twilight/{p-024ecda2.entry.js → p-054f32c4.entry.js} +1 -1
- package/dist/twilight/{p-78c04993.entry.js → p-069df650.entry.js} +1 -1
- package/dist/twilight/p-0a1a172d.entry.js +4 -0
- package/dist/twilight/{p-de10d0c3.entry.js → p-0ac5f79f.entry.js} +1 -1
- package/dist/twilight/{p-331003bc.entry.js → p-0c1bbd55.entry.js} +1 -1
- package/dist/twilight/{p-d89328d7.entry.js → p-0c4e99b4.entry.js} +1 -1
- package/dist/twilight/{p-fb955257.entry.js → p-0c65d35a.entry.js} +1 -1
- package/dist/twilight/{p-b297fe2e.entry.js → p-0d357ae2.entry.js} +1 -1
- package/dist/twilight/{p-11eb8675.entry.js → p-0ded0dc1.entry.js} +1 -1
- package/dist/twilight/p-13309e4e.entry.js +4 -0
- package/dist/twilight/{p-bf5b5f52.entry.js → p-16d49b35.entry.js} +1 -1
- package/dist/twilight/{p-f9dd6b3e.entry.js → p-19896b94.entry.js} +1 -1
- package/dist/twilight/{p-dbb4db25.entry.js → p-1b6b5a3c.entry.js} +1 -1
- package/dist/twilight/{p-d2396143.entry.js → p-1ce1b6dc.entry.js} +1 -1
- package/dist/twilight/{p-3a2ff4d6.entry.js → p-1d1bef93.entry.js} +1 -1
- package/dist/twilight/{p-4cf81a44.entry.js → p-1fce7e50.entry.js} +1 -1
- package/dist/twilight/{p-c122e9c1.entry.js → p-1ff27daa.entry.js} +1 -1
- package/dist/twilight/{p-97c5b11d.entry.js → p-22db0366.entry.js} +1 -1
- package/dist/twilight/p-24abaa09.entry.js +4 -0
- package/dist/twilight/{p-37b64e36.entry.js → p-29349910.entry.js} +1 -1
- package/dist/twilight/{p-d300a117.entry.js → p-29e3685e.entry.js} +1 -1
- package/dist/twilight/{p-71ce8e4f.entry.js → p-301a42aa.entry.js} +1 -1
- package/dist/twilight/{p-e849f5ef.entry.js → p-30919203.entry.js} +1 -1
- package/dist/twilight/{p-4c191ab4.entry.js → p-309edef2.entry.js} +1 -1
- package/dist/twilight/{p-7731e280.entry.js → p-3356b015.entry.js} +1 -1
- package/dist/twilight/{p-8d3c5d1f.entry.js → p-366403da.entry.js} +1 -1
- package/dist/twilight/{p-446e3f38.entry.js → p-36ee91e5.entry.js} +1 -1
- package/dist/twilight/{p-ed96c703.entry.js → p-388e49fe.entry.js} +1 -1
- package/dist/twilight/p-3a5604b1.entry.js +4 -0
- package/dist/twilight/{p-2dcd24fe.entry.js → p-3eae2216.entry.js} +1 -1
- package/dist/twilight/{p-5ceda3d5.entry.js → p-41b57414.entry.js} +1 -1
- package/dist/twilight/{p-776f9492.entry.js → p-43eb35a7.entry.js} +1 -1
- package/dist/twilight/{p-0c022fbd.entry.js → p-44621e3a.entry.js} +1 -1
- package/dist/twilight/{p-ffc7f526.entry.js → p-450cdcc4.entry.js} +1 -1
- package/dist/twilight/{p-5d8937c5.entry.js → p-46ae40a3.entry.js} +1 -1
- package/dist/twilight/{p-6d6b99fe.entry.js → p-4d5abe91.entry.js} +1 -1
- package/dist/twilight/{p-519cf4c2.entry.js → p-4e9c9419.entry.js} +1 -1
- package/dist/twilight/{p-5f9d87ec.entry.js → p-50898992.entry.js} +1 -1
- package/dist/twilight/{p-8b0b6bca.entry.js → p-52011986.entry.js} +1 -1
- package/dist/twilight/{p-cbd056ba.entry.js → p-52e24b0f.entry.js} +1 -1
- package/dist/twilight/{p-b6098938.entry.js → p-536a1841.entry.js} +1 -1
- package/dist/twilight/{p-47c79c49.entry.js → p-5865e825.entry.js} +1 -1
- package/dist/twilight/{p-20949dfb.entry.js → p-591694a7.entry.js} +1 -1
- package/dist/twilight/{p-474d882c.entry.js → p-60cd3462.entry.js} +1 -1
- package/dist/twilight/{p-9acfe389.entry.js → p-628ef86c.entry.js} +1 -1
- package/dist/twilight/{p-dfde387f.entry.js → p-630cce26.entry.js} +1 -1
- package/dist/twilight/{p-a7566af2.entry.js → p-6569bfee.entry.js} +1 -1
- package/dist/twilight/{p-57fafaba.entry.js → p-66f02fad.entry.js} +1 -1
- package/dist/twilight/{p-cdeaf60b.entry.js → p-6936e0a4.entry.js} +1 -1
- package/dist/twilight/{p-7fffa509.entry.js → p-6c5bd5ad.entry.js} +1 -1
- package/dist/twilight/{p-93571975.entry.js → p-6d0ad265.entry.js} +1 -1
- package/dist/twilight/{p-9fe5c0f5.entry.js → p-6e79128e.entry.js} +1 -1
- package/dist/twilight/{p-07e581af.entry.js → p-6ff4df6b.entry.js} +1 -1
- package/dist/twilight/{p-bb137dbb.entry.js → p-73f1697f.entry.js} +1 -1
- package/dist/twilight/{p-008740fe.entry.js → p-741cc4a4.entry.js} +1 -1
- package/dist/twilight/{p-c6f09614.entry.js → p-74e3b033.entry.js} +1 -1
- package/dist/twilight/{p-02b7dfcc.entry.js → p-7e421e8a.entry.js} +1 -1
- package/dist/twilight/{p-08be494e.entry.js → p-8056b437.entry.js} +1 -1
- package/dist/twilight/{p-89598ad3.entry.js → p-84b35a50.entry.js} +1 -1
- package/dist/twilight/{p-2aa9147c.entry.js → p-85bf4c43.entry.js} +1 -1
- package/dist/twilight/{p-0fd15433.entry.js → p-85e43124.entry.js} +1 -1
- package/dist/twilight/{p-1ca39f1c.entry.js → p-8a614038.entry.js} +1 -1
- package/dist/twilight/{p-BjUh9YCs.js → p-8iHhuUVM.js} +1 -1
- package/dist/twilight/{p-455a4702.entry.js → p-93439ac4.entry.js} +1 -1
- package/dist/twilight/{p-cb961f05.entry.js → p-963eb26d.entry.js} +1 -1
- package/dist/twilight/{p-bf65d2fa.entry.js → p-989e3cd6.entry.js} +1 -1
- package/dist/twilight/{p-4ec15515.entry.js → p-98cf67a5.entry.js} +1 -1
- package/dist/twilight/{p-16e2a110.entry.js → p-9ec3124c.entry.js} +1 -1
- package/dist/twilight/{p-9dd7cf71.entry.js → p-9ed41657.entry.js} +1 -1
- package/dist/twilight/{p-CICtuB_u.js → p-B1r6DqQZ.js} +1 -1
- package/dist/twilight/{p-DOUAavek.js → p-B8bJ6Bp4.js} +1 -1
- package/dist/twilight/{p-BpJsOjKP.js → p-BAfdlulm.js} +1 -1
- package/dist/twilight/{p-cykIAOlk.js → p-BHVWJBhN.js} +1 -1
- package/dist/twilight/{p-BlPdaFn2.js → p-BddjrRgx.js} +1 -1
- package/dist/twilight/{p-wYYV5ykR.js → p-CeKF1bL-.js} +1 -1
- package/dist/twilight/{p-ze9e0dxM.js → p-DvJClBwJ.js} +1 -1
- package/dist/twilight/{p-B8nGVDvQ.js → p-FYANWJHV.js} +1 -1
- package/dist/twilight/p-OdOOjQZO.js +4 -0
- package/dist/twilight/{p-C9ldyQUq.js → p-UebnA4Q1.js} +1 -1
- package/dist/twilight/{p-830abcc1.entry.js → p-a460c4be.entry.js} +1 -1
- package/dist/twilight/{p-792494c8.entry.js → p-a7297a33.entry.js} +1 -1
- package/dist/twilight/{p-f23ada45.entry.js → p-ac4b8722.entry.js} +1 -1
- package/dist/twilight/{p-5b118b5b.entry.js → p-accfd79c.entry.js} +1 -1
- package/dist/twilight/{p-e23b84bf.entry.js → p-adfdfe9d.entry.js} +1 -1
- package/dist/twilight/{p-73649c81.entry.js → p-ae1c28e0.entry.js} +1 -1
- package/dist/twilight/{p-f7c06bee.entry.js → p-b06cad39.entry.js} +1 -1
- package/dist/twilight/{p-59694c45.entry.js → p-b47ffe8e.entry.js} +1 -1
- package/dist/twilight/{p-75ad7f14.entry.js → p-be357093.entry.js} +1 -1
- package/dist/twilight/{p-8077d8b6.entry.js → p-c1b6d4ba.entry.js} +1 -1
- package/dist/twilight/{p-5e0f85ae.entry.js → p-c9e04a12.entry.js} +1 -1
- package/dist/twilight/{p-b71673ee.entry.js → p-ca20c66e.entry.js} +1 -1
- package/dist/twilight/{p-97fa91db.entry.js → p-cc84061b.entry.js} +1 -1
- package/dist/twilight/{p-d089ac6d.entry.js → p-cefd664d.entry.js} +1 -1
- package/dist/twilight/{p-a7849674.entry.js → p-d1fac437.entry.js} +1 -1
- package/dist/twilight/{p-7a985fe3.entry.js → p-d6015b0c.entry.js} +1 -1
- package/dist/twilight/{p-a865995d.entry.js → p-d6728c04.entry.js} +1 -1
- package/dist/twilight/{p-e3dd9502.entry.js → p-d7537ab1.entry.js} +1 -1
- package/dist/twilight/{p-9a2567e2.entry.js → p-d81a6a32.entry.js} +1 -1
- package/dist/twilight/{p-12a52f1b.entry.js → p-d8856c7b.entry.js} +1 -1
- package/dist/twilight/{p-45a7d444.entry.js → p-da3c7ee3.entry.js} +1 -1
- package/dist/twilight/{p-75f7f1d8.entry.js → p-e276cb82.entry.js} +1 -1
- package/dist/twilight/{p-c0301e00.entry.js → p-e73bc00f.entry.js} +1 -1
- package/dist/twilight/{p-03b2df97.entry.js → p-e785df2d.entry.js} +1 -1
- package/dist/twilight/{p-da0349f9.entry.js → p-e81d544a.entry.js} +1 -1
- package/dist/twilight/{p-7790a9a1.entry.js → p-e8414134.entry.js} +1 -1
- package/dist/twilight/{p-d61298f8.entry.js → p-ea0de552.entry.js} +1 -1
- package/dist/twilight/{p-a1a650ab.entry.js → p-ea58a665.entry.js} +1 -1
- package/dist/twilight/{p-770142fe.entry.js → p-f6b86d47.entry.js} +1 -1
- package/dist/twilight/{p-f054cf8e.entry.js → p-fbd7def8.entry.js} +1 -1
- package/dist/twilight/{p-CNQaYCUJ.js → p-zPvqMpJX.js} +1 -1
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/types/components/salla-cart-summary-card/salla-cart-summary-card.d.ts +26 -0
- package/dist/types/components/salla-order-totals-card/interfaces.d.ts +8 -3
- package/dist/types/components/salla-order-totals-card/salla-order-totals-card.d.ts +2 -1
- package/package.json +5 -5
- package/dist/twilight/p-0c0b2b36.entry.js +0 -4
- package/dist/twilight/p-61b98119.entry.js +0 -4
- package/dist/twilight/p-8d096f95.entry.js +0 -4
- package/dist/twilight/p-be8c42f1.entry.js +0 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,h as a,H as e,a as r}from"./p-ze9e0dxM.js";import{f as i}from"./p-DIAyA5MP.js";const s=class{constructor(a){t(this,a),this.limit=10,this.products=[],this.isLoading=!0,this.canRender=!0,this.title="",this.addToCartLabel="",this.weightLabel="",this.discountLabel="",this.placeholder="",this.fetchGeneration=0,this.isSyncingCart=!1,this.requestId=null,this.listViewTracked=!1,this.lastListViewedKey="",this.cartItemChangedHandler=t=>{const a=t?.data?.cart?.items??[],e=a.map((t=>String(t.product_id))).filter(Boolean);this.syncCartItemsDom(a),this.fetchRecommendations(e)},this.beforeAddItemHandler=t=>{const a=String(t?.id??"");a&&this.products.some((t=>String(t.id)===a))&&salla.cart?.api&&(salla.cart.api.addToCartSource="basket_gap")},this.addButtonSuccessHandler=t=>{const a=t?.target?.getAttribute?.("product-id");if(!a)return;const e=this.products.find((t=>String(t.id)===String(a)));if(!e)return;const r=t?.detail?.data?.items??[],i=r.find((t=>String(t.product_id)===String(e.id)))??r.slice(-1)[0];salla.event.emit("salla-basket-gap::product.added",[{product:e,position:this.products.indexOf(e)+1,cartItem:i,cartId:t?.detail?.data?.id,source:"basket_gap",request_id:this.requestId}])},salla.lang.onLoaded((()=>{this.title=salla.lang.get("pages.cart.basket_gap_title"),this.addToCartLabel=salla.lang.get("pages.cart.add_to_cart"),this.weightLabel=salla.lang.get("pages.products.weight"),this.discountLabel=salla.lang.get("pages.products.discount")}))}componentWillLoad(){salla.onReady().then((()=>{if(!salla.config.get("store.settings.cart.basket_gap"))return this.canRender=!1,void(this.isLoading=!1);this.title=salla.lang.get("pages.cart.basket_gap_title"),this.addToCartLabel=salla.lang.get("pages.cart.add_to_cart"),this.weightLabel=salla.lang.get("pages.products.weight"),this.discountLabel=salla.lang.get("pages.products.discount"),this.placeholder=salla.url.asset(salla.config.get("theme.settings.placeholder"));const t=salla.storage.get("cart"),a=(t?.items??[]).map((t=>String(t.product_id))).filter(Boolean);return a.length?this.fetchRecommendations(a):salla.api.cart.details().then((({data:{cart:t}})=>{const a=(t?.items??[]).map((t=>String(t.product_id))).filter(Boolean);return this.fetchRecommendations(a)})).catch((()=>{this.canRender=!1,this.isLoading=!1}))}))}componentDidLoad(){this.positionUnderCartItems()}componentDidUpdate(){document.lazyLoadInstance?.update(this.host.querySelectorAll(".lazy")),this.positionUnderCartItems()}componentDidRender(){if(!this.products.length||this.listViewTracked||this.intersectionObserver)return;const t=new IntersectionObserver((a=>{this.intersectionObserver===t&&a.some((t=>t.isIntersecting))&&(this.listViewTracked=!0,t.disconnect(),this.intersectionObserver=void 0,this.emitListViewed())}),{threshold:.1});this.intersectionObserver=t,t.observe(this.host)}emitListViewed(){const t=this.products.map((t=>t.id)).join(",");t!==this.lastListViewedKey&&(this.lastListViewedKey=t,salla.event.emit("salla-basket-gap::list.viewed",{products:this.products,source:"basket_gap",request_id:this.requestId}))}handleCardClick(t,a){const e=t.target;"function"==typeof e?.closest&&e.closest("a[href]")&&this.emitProductClicked(a)}emitProductClicked(t){salla.event.emit("salla-basket-gap::product.clicked",[{product:t,position:this.products.indexOf(t)+1,source:"basket_gap",request_id:this.requestId}])}getCartItemForms(t=document){return Array.from(t.querySelectorAll('form[id^="item-"]')).filter((t=>!t.closest(".cart-options")))}positionUnderCartItems(){const t=this.getCartItemForms(),a=t[t.length-1];a&&a.nextElementSibling!==this.host&&a.after(this.host)}syncCartItemsDom(t){t?.length&&!this.isSyncingCart&&t.filter((t=>!document.getElementById("item-"+t.id))).length&&(this.isSyncingCart=!0,fetch(window.location.href,{headers:{"X-Requested-With":"XMLHttpRequest"},credentials:"same-origin"}).then((t=>t.text())).then((t=>{const a=(new DOMParser).parseFromString(t,"text/html"),e=this.getCartItemForms(a),r=this.getCartItemForms();if(!e.length||!r.length)return;const i=r[0],s=i.parentElement;s&&(e.forEach((t=>{s.insertBefore(document.importNode(t,!0),i)})),r.forEach((t=>t.remove())),document.lazyLoadInstance?.update?.(),this.positionUnderCartItems())})).catch((()=>{})).finally((()=>{this.isSyncingCart=!1})))}connectedCallback(){salla.event.on("cart::item.added",this.cartItemChangedHandler),salla.event.on("cart::item.deleted",this.cartItemChangedHandler),salla.event.on("cart::before.add.item",this.beforeAddItemHandler),this.host.addEventListener("success",this.addButtonSuccessHandler)}disconnectedCallback(){this.intersectionObserver?.disconnect(),this.intersectionObserver=void 0,salla.event.off("cart::item.added",this.cartItemChangedHandler),salla.event.off("cart::item.deleted",this.cartItemChangedHandler),salla.event.off("cart::before.add.item",this.beforeAddItemHandler),this.host.removeEventListener("success",this.addButtonSuccessHandler)}getCartProductIds(t){if(t?.length)return new Set(t);const a=salla.storage.get("cart");return new Set((a?.items??[]).map((t=>String(t.product_id))).filter(Boolean))}fetchRecommendations(t){if(!t.length)return this.canRender=!1,this.isLoading=!1,Promise.resolve();const a=++this.fetchGeneration;return i(t).then((e=>{if(a!==this.fetchGeneration)return;const r=e._requestId||null,i=this.getCartProductIds(t),s=e.filter((t=>!i.has(t)));if(s.length)return this.fetchProducts(s.slice(0,this.limit),a,r);this.canRender=!1})).catch((()=>{a===this.fetchGeneration&&(this.canRender=!1)})).finally((()=>{a===this.fetchGeneration&&(this.isLoading=!1)}))}fetchProducts(t,a,e=null){return salla.api.withoutNotifier((()=>salla.product.api.fetch({source:"selected",source_value:t,limit:this.limit}))).then((t=>{a===this.fetchGeneration&&(this.products=t?.data??[],this.requestId=e,this.listViewTracked=!1,this.intersectionObserver?.disconnect(),this.intersectionObserver=void 0,this.canRender=this.products.length>0)})).catch((()=>{a===this.fetchGeneration&&(this.canRender=!1)}))}getDiscountLabel(t){if(t.promotion_title)return t.promotion_title;if(t.is_on_sale&&t.regular_price>0&&t.sale_price>0){const a=Math.round(100*(1-t.sale_price/t.regular_price));return a>0?`${this.discountLabel} ${a}%`:null}return null}formatDate(t){const a=new Date(1e3*t),e=String(a.getMonth()+1).padStart(2,"0"),r=String(a.getDate()).padStart(2,"0");return`${a.getFullYear()}-${e}-${r}`}getSkeletonView(){return a(e,{class:"s-basket-gap-entry"},a("div",{class:"s-basket-gap-skeleton"},a("salla-skeleton",{height:"16px",width:"40%",style:{marginBottom:"16px"}}),Array(3).fill(null).map(((t,e)=>a("div",{key:e,class:"s-basket-gap-skeleton-card"},a("salla-skeleton",{height:"64px",width:"64px",style:{borderRadius:"8px",flexShrink:"0"}}),a("div",{class:"s-basket-gap-skeleton-info"},a("salla-skeleton",{height:"14px",width:"50%"}),a("salla-skeleton",{height:"12px",width:"25%",style:{marginTop:"6px"}}),a("salla-skeleton",{height:"10px",width:"35%",style:{marginTop:"4px"}})),a("salla-skeleton",{height:"36px",width:"100px",style:{borderRadius:"6px",flexShrink:"0",marginInlineStart:"auto"}}))))))}getProductCard(t){const e=this.getDiscountLabel(t);return a("div",{key:t.id,class:"s-basket-gap-card",onClick:a=>this.handleCardClick(a,t)},a("a",{href:t.url,class:"s-basket-gap-card-image"},a("img",{class:"lazy",src:this.placeholder,"data-src":t.image?.url,alt:t.image?.alt||t.name})),a("div",{class:"s-basket-gap-card-info"},a("h3",{class:"s-basket-gap-card-name"},a("a",{href:t.url},t.name)),t.is_on_sale?a("div",{class:"s-basket-gap-card-sale-price"},a("span",{innerHTML:salla.money(t.sale_price)}),a("del",{innerHTML:salla.money(t.regular_price)})):a("span",{class:"s-basket-gap-card-price",innerHTML:salla.money(t.price)}),t.weight_label&&a("span",{class:"s-basket-gap-card-weight"},this.weightLabel," ",t.weight_label)),a("div",{class:"s-basket-gap-card-actions"},(t.promotion_title||t.discount_ends||t.is_on_sale)&&a("div",{class:"s-basket-gap-card-offer"},a("i",{class:"sicon-gift"}),e&&a("span",null,e),t.discount_ends&&[a("salla-count-down",{date:this.formatDate(t.discount_ends),"end-of-day":!0,digits:"en","auto-segments":!0}),a("i",{class:"sicon-alarm"})]),a("salla-add-product-button",{class:"s-basket-gap-card-btn","product-id":t.id,"product-status":t.status,"product-type":t.type},this.addToCartLabel)))}render(){return this.canRender?this.isLoading?this.getSkeletonView():this.products.length?a(e,{class:"s-basket-gap-entry"},this.title&&a("h2",{class:"s-basket-gap-title"},this.title),a("div",{class:"s-basket-gap-list"},this.products.map((t=>this.getProductCard(t))))):null:null}get host(){return r(this)}};s.style='/*!twlt*/:host{display:block}.block{display:block}.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-basket-gap-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-basket-gap-title{margin-bottom:1rem;font-size:1.125rem;line-height:1.75rem;font-weight:700}.s-basket-gap-list{display:flex;flex-direction:column}.s-basket-gap-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-basket-gap-card{display:flex;flex-wrap:wrap;align-items:center;column-gap:0.75rem;row-gap:0.625rem;padding-top:1rem;padding-bottom:1rem}.s-basket-gap-card-image{height:4rem;width:4rem;flex-shrink:0;overflow:hidden;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.s-basket-gap-card-image img{height:100%;width:100%;object-fit:cover}.s-basket-gap-card-info{display:flex;min-width:0px;flex:1 1 0%;flex-direction:column;gap:0.25rem}.s-basket-gap-card-actions{display:flex;width:100%;align-items:center;justify-content:flex-end;gap:0.5rem}@media (min-width: 640px){.s-basket-gap-card-actions{width:auto}}.s-basket-gap-card-name{font-size:0.875rem;line-height:1.25rem;font-weight:600;line-height:1.25;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-basket-gap-card-name a:hover{color:var(--color-primary)}.s-basket-gap-card-price{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-basket-gap-card-sale-price{display:flex;align-items:center;gap:0.5rem}.s-basket-gap-card-sale-price span{font-size:0.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.s-basket-gap-card-sale-price del{font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));text-decoration-line:line-through}.s-basket-gap-card-weight{font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-basket-gap-card-offer{display:flex;flex-shrink:0;align-items:center;gap:0.25rem;border-radius:0.375rem;--tw-bg-opacity:1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1));padding-left:9px;padding-right:9px;padding-top:3px;padding-bottom:3px;font-size:11px;font-weight:500;--tw-text-opacity:1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.s-basket-gap-card-offer i{font-size:0.75rem;line-height:1rem}.s-basket-gap-card-offer span{font-weight:700;--tw-text-opacity:1 !important;color:rgb(31 41 55 / var(--tw-text-opacity, 1)) !important}.s-basket-gap-card-offer salla-count-down{flex-shrink:0}.s-basket-gap-card-offer salla-count-down:where([dir="ltr"],[dir="ltr"] *){margin-inline-start:0.25rem}.s-basket-gap-card-offer salla-count-down:where([dir="rtl"],[dir="rtl"] *){margin-inline-end:0.25rem}.s-basket-gap-card-offer .s-count-down-list{margin-left:-0px !important;margin-right:-0px !important;margin-bottom:0px !important;margin-top:0px !important;display:inline-flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start !important;column-gap:0px;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.s-basket-gap-card-offer .s-count-down-list:where([dir="ltr"],[dir="ltr"] *){flex-direction:row-reverse !important}.s-basket-gap-card-offer .s-count-down-list:where([dir="rtl"],[dir="rtl"] *){flex-direction:row !important}.s-basket-gap-card-offer .s-count-down-item{position:relative !important;margin-left:0px !important;margin-right:0px !important;display:inline-flex !important;width:auto !important;flex:none !important;flex-grow:0 !important;flex-direction:row !important;align-items:center !important;justify-content:center !important;padding-top:0px !important;padding-bottom:0px !important;padding-left:0px !important;padding-right:0px !important;font-size:12px !important;font-weight:700 !important;line-height:1 !important;--tw-text-opacity:1 !important;color:rgb(21 128 61 / var(--tw-text-opacity, 1)) !important}.s-basket-gap-card-offer .s-count-down-item-value{display:inline-block !important;width:2ch !important;min-width:2ch !important;text-align:center;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);line-height:1}.s-basket-gap-card-offer .s-count-down-item-label{display:none}.s-basket-gap-entry .s-basket-gap-card-offer.s-basket-gap-card-offer .s-count-down-item::before{content:none !important}.s-basket-gap-entry .s-basket-gap-card-offer.s-basket-gap-card-offer .s-count-down-item::after{content:none !important;position:static;left:auto;right:auto;transform:none}[dir=\'rtl\'] .s-basket-gap-entry .s-basket-gap-card-offer.s-basket-gap-card-offer .s-count-down-item:not(:last-child)::after{content:\':\' !important;position:static;left:auto;right:auto;transform:none;margin-left:0.15rem;margin-right:0.15rem;color:#15803d;font-size:12px;font-weight:700;line-height:1}[dir=\'ltr\'] .s-basket-gap-entry .s-basket-gap-card-offer.s-basket-gap-card-offer .s-count-down-item:not(:first-child)::after{content:\':\' !important;position:static;left:auto;right:auto;transform:none;margin-left:0.15rem;margin-right:0.15rem;color:#15803d;font-size:12px;font-weight:700;line-height:1}.s-basket-gap-card-btn{flex-shrink:0}.s-basket-gap-card-btn salla-button .s-button-btn{border-radius:var(--s-radius, 0.25rem);border-width:1px !important;border-color:var(--color-primary) !important;background-color:transparent !important;color:var(--color-primary) !important}.s-basket-gap-card-btn salla-button .s-button-btn:hover{background-color:var(--color-primary) !important;--tw-text-opacity:1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1)) !important}.s-basket-gap-card-btn salla-button .s-button-loader:before{border-top-color:var(--color-primary) !important;border-left-color:var(--color-primary) !important;border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1)) !important;--tw-border-opacity:1 !important;border-right-color:rgb(243 244 246 / var(--tw-border-opacity, 1)) !important}.s-basket-gap-skeleton{display:flex;flex-direction:column;gap:0.75rem}.s-basket-gap-skeleton-card{display:flex;align-items:center;gap:0.75rem;padding-top:0.75rem;padding-bottom:0.75rem}.s-basket-gap-skeleton-info{display:flex;flex:1 1 0%;flex-direction:column;gap:0.5rem}';export{s as salla_basket_gap}
|
|
4
|
+
import{r as t,h as a,H as e,a as r}from"./p-DvJClBwJ.js";import{f as i}from"./p-DIAyA5MP.js";const s=class{constructor(a){t(this,a),this.limit=10,this.products=[],this.isLoading=!0,this.canRender=!0,this.title="",this.addToCartLabel="",this.weightLabel="",this.discountLabel="",this.placeholder="",this.fetchGeneration=0,this.isSyncingCart=!1,this.requestId=null,this.listViewTracked=!1,this.lastListViewedKey="",this.cartItemChangedHandler=t=>{const a=t?.data?.cart?.items??[],e=a.map((t=>String(t.product_id))).filter(Boolean);this.syncCartItemsDom(a),this.fetchRecommendations(e)},this.beforeAddItemHandler=t=>{const a=String(t?.id??"");a&&this.products.some((t=>String(t.id)===a))&&salla.cart?.api&&(salla.cart.api.addToCartSource="basket_gap")},this.addButtonSuccessHandler=t=>{const a=t?.target?.getAttribute?.("product-id");if(!a)return;const e=this.products.find((t=>String(t.id)===String(a)));if(!e)return;const r=t?.detail?.data?.items??[],i=r.find((t=>String(t.product_id)===String(e.id)))??r.slice(-1)[0];salla.event.emit("salla-basket-gap::product.added",[{product:e,position:this.products.indexOf(e)+1,cartItem:i,cartId:t?.detail?.data?.id,source:"basket_gap",request_id:this.requestId}])},salla.lang.onLoaded((()=>{this.title=salla.lang.get("pages.cart.basket_gap_title"),this.addToCartLabel=salla.lang.get("pages.cart.add_to_cart"),this.weightLabel=salla.lang.get("pages.products.weight"),this.discountLabel=salla.lang.get("pages.products.discount")}))}componentWillLoad(){salla.onReady().then((()=>{if(!salla.config.get("store.settings.cart.basket_gap"))return this.canRender=!1,void(this.isLoading=!1);this.title=salla.lang.get("pages.cart.basket_gap_title"),this.addToCartLabel=salla.lang.get("pages.cart.add_to_cart"),this.weightLabel=salla.lang.get("pages.products.weight"),this.discountLabel=salla.lang.get("pages.products.discount"),this.placeholder=salla.url.asset(salla.config.get("theme.settings.placeholder"));const t=salla.storage.get("cart"),a=(t?.items??[]).map((t=>String(t.product_id))).filter(Boolean);return a.length?this.fetchRecommendations(a):salla.api.cart.details().then((({data:{cart:t}})=>{const a=(t?.items??[]).map((t=>String(t.product_id))).filter(Boolean);return this.fetchRecommendations(a)})).catch((()=>{this.canRender=!1,this.isLoading=!1}))}))}componentDidLoad(){this.positionUnderCartItems()}componentDidUpdate(){document.lazyLoadInstance?.update(this.host.querySelectorAll(".lazy")),this.positionUnderCartItems()}componentDidRender(){if(!this.products.length||this.listViewTracked||this.intersectionObserver)return;const t=new IntersectionObserver((a=>{this.intersectionObserver===t&&a.some((t=>t.isIntersecting))&&(this.listViewTracked=!0,t.disconnect(),this.intersectionObserver=void 0,this.emitListViewed())}),{threshold:.1});this.intersectionObserver=t,t.observe(this.host)}emitListViewed(){const t=this.products.map((t=>t.id)).join(",");t!==this.lastListViewedKey&&(this.lastListViewedKey=t,salla.event.emit("salla-basket-gap::list.viewed",{products:this.products,source:"basket_gap",request_id:this.requestId}))}handleCardClick(t,a){const e=t.target;"function"==typeof e?.closest&&e.closest("a[href]")&&this.emitProductClicked(a)}emitProductClicked(t){salla.event.emit("salla-basket-gap::product.clicked",[{product:t,position:this.products.indexOf(t)+1,source:"basket_gap",request_id:this.requestId}])}getCartItemForms(t=document){return Array.from(t.querySelectorAll('form[id^="item-"]')).filter((t=>!t.closest(".cart-options")))}positionUnderCartItems(){const t=this.getCartItemForms(),a=t[t.length-1];a&&a.nextElementSibling!==this.host&&a.after(this.host)}syncCartItemsDom(t){t?.length&&!this.isSyncingCart&&t.filter((t=>!document.getElementById("item-"+t.id))).length&&(this.isSyncingCart=!0,fetch(window.location.href,{headers:{"X-Requested-With":"XMLHttpRequest"},credentials:"same-origin"}).then((t=>t.text())).then((t=>{const a=(new DOMParser).parseFromString(t,"text/html"),e=this.getCartItemForms(a),r=this.getCartItemForms();if(!e.length||!r.length)return;const i=r[0],s=i.parentElement;s&&(e.forEach((t=>{s.insertBefore(document.importNode(t,!0),i)})),r.forEach((t=>t.remove())),document.lazyLoadInstance?.update?.(),this.positionUnderCartItems())})).catch((()=>{})).finally((()=>{this.isSyncingCart=!1})))}connectedCallback(){salla.event.on("cart::item.added",this.cartItemChangedHandler),salla.event.on("cart::item.deleted",this.cartItemChangedHandler),salla.event.on("cart::before.add.item",this.beforeAddItemHandler),this.host.addEventListener("success",this.addButtonSuccessHandler)}disconnectedCallback(){this.intersectionObserver?.disconnect(),this.intersectionObserver=void 0,salla.event.off("cart::item.added",this.cartItemChangedHandler),salla.event.off("cart::item.deleted",this.cartItemChangedHandler),salla.event.off("cart::before.add.item",this.beforeAddItemHandler),this.host.removeEventListener("success",this.addButtonSuccessHandler)}getCartProductIds(t){if(t?.length)return new Set(t);const a=salla.storage.get("cart");return new Set((a?.items??[]).map((t=>String(t.product_id))).filter(Boolean))}fetchRecommendations(t){if(!t.length)return this.canRender=!1,this.isLoading=!1,Promise.resolve();const a=++this.fetchGeneration;return i(t).then((e=>{if(a!==this.fetchGeneration)return;const r=e._requestId||null,i=this.getCartProductIds(t),s=e.filter((t=>!i.has(t)));if(s.length)return this.fetchProducts(s.slice(0,this.limit),a,r);this.canRender=!1})).catch((()=>{a===this.fetchGeneration&&(this.canRender=!1)})).finally((()=>{a===this.fetchGeneration&&(this.isLoading=!1)}))}fetchProducts(t,a,e=null){return salla.api.withoutNotifier((()=>salla.product.api.fetch({source:"selected",source_value:t,limit:this.limit}))).then((t=>{a===this.fetchGeneration&&(this.products=t?.data??[],this.requestId=e,this.listViewTracked=!1,this.intersectionObserver?.disconnect(),this.intersectionObserver=void 0,this.canRender=this.products.length>0)})).catch((()=>{a===this.fetchGeneration&&(this.canRender=!1)}))}getDiscountLabel(t){if(t.promotion_title)return t.promotion_title;if(t.is_on_sale&&t.regular_price>0&&t.sale_price>0){const a=Math.round(100*(1-t.sale_price/t.regular_price));return a>0?`${this.discountLabel} ${a}%`:null}return null}formatDate(t){const a=new Date(1e3*t),e=String(a.getMonth()+1).padStart(2,"0"),r=String(a.getDate()).padStart(2,"0");return`${a.getFullYear()}-${e}-${r}`}getSkeletonView(){return a(e,{class:"s-basket-gap-entry"},a("div",{class:"s-basket-gap-skeleton"},a("salla-skeleton",{height:"16px",width:"40%",style:{marginBottom:"16px"}}),Array(3).fill(null).map(((t,e)=>a("div",{key:e,class:"s-basket-gap-skeleton-card"},a("salla-skeleton",{height:"64px",width:"64px",style:{borderRadius:"8px",flexShrink:"0"}}),a("div",{class:"s-basket-gap-skeleton-info"},a("salla-skeleton",{height:"14px",width:"50%"}),a("salla-skeleton",{height:"12px",width:"25%",style:{marginTop:"6px"}}),a("salla-skeleton",{height:"10px",width:"35%",style:{marginTop:"4px"}})),a("salla-skeleton",{height:"36px",width:"100px",style:{borderRadius:"6px",flexShrink:"0",marginInlineStart:"auto"}}))))))}getProductCard(t){const e=this.getDiscountLabel(t);return a("div",{key:t.id,class:"s-basket-gap-card",onClick:a=>this.handleCardClick(a,t)},a("a",{href:t.url,class:"s-basket-gap-card-image"},a("img",{class:"lazy",src:this.placeholder,"data-src":t.image?.url,alt:t.image?.alt||t.name})),a("div",{class:"s-basket-gap-card-info"},a("h3",{class:"s-basket-gap-card-name"},a("a",{href:t.url},t.name)),t.is_on_sale?a("div",{class:"s-basket-gap-card-sale-price"},a("span",{innerHTML:salla.money(t.sale_price)}),a("del",{innerHTML:salla.money(t.regular_price)})):a("span",{class:"s-basket-gap-card-price",innerHTML:salla.money(t.price)}),t.weight_label&&a("span",{class:"s-basket-gap-card-weight"},this.weightLabel," ",t.weight_label)),a("div",{class:"s-basket-gap-card-actions"},(t.promotion_title||t.discount_ends||t.is_on_sale)&&a("div",{class:"s-basket-gap-card-offer"},a("i",{class:"sicon-gift"}),e&&a("span",null,e),t.discount_ends&&[a("salla-count-down",{date:this.formatDate(t.discount_ends),"end-of-day":!0,digits:"en","auto-segments":!0}),a("i",{class:"sicon-alarm"})]),a("salla-add-product-button",{class:"s-basket-gap-card-btn","product-id":t.id,"product-status":t.status,"product-type":t.type},this.addToCartLabel)))}render(){return this.canRender?this.isLoading?this.getSkeletonView():this.products.length?a(e,{class:"s-basket-gap-entry"},this.title&&a("h2",{class:"s-basket-gap-title"},this.title),a("div",{class:"s-basket-gap-list"},this.products.map((t=>this.getProductCard(t))))):null:null}get host(){return r(this)}};s.style='/*!twlt*/:host{display:block}.block{display:block}.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-basket-gap-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-basket-gap-title{margin-bottom:1rem;font-size:1.125rem;line-height:1.75rem;font-weight:700}.s-basket-gap-list{display:flex;flex-direction:column}.s-basket-gap-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-basket-gap-card{display:flex;flex-wrap:wrap;align-items:center;column-gap:0.75rem;row-gap:0.625rem;padding-top:1rem;padding-bottom:1rem}.s-basket-gap-card-image{height:4rem;width:4rem;flex-shrink:0;overflow:hidden;border-radius:0.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.s-basket-gap-card-image img{height:100%;width:100%;object-fit:cover}.s-basket-gap-card-info{display:flex;min-width:0px;flex:1 1 0%;flex-direction:column;gap:0.25rem}.s-basket-gap-card-actions{display:flex;width:100%;align-items:center;justify-content:flex-end;gap:0.5rem}@media (min-width: 640px){.s-basket-gap-card-actions{width:auto}}.s-basket-gap-card-name{font-size:0.875rem;line-height:1.25rem;font-weight:600;line-height:1.25;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-basket-gap-card-name a:hover{color:var(--color-primary)}.s-basket-gap-card-price{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-basket-gap-card-sale-price{display:flex;align-items:center;gap:0.5rem}.s-basket-gap-card-sale-price span{font-size:0.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.s-basket-gap-card-sale-price del{font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));text-decoration-line:line-through}.s-basket-gap-card-weight{font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-basket-gap-card-offer{display:flex;flex-shrink:0;align-items:center;gap:0.25rem;border-radius:0.375rem;--tw-bg-opacity:1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1));padding-left:9px;padding-right:9px;padding-top:3px;padding-bottom:3px;font-size:11px;font-weight:500;--tw-text-opacity:1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.s-basket-gap-card-offer i{font-size:0.75rem;line-height:1rem}.s-basket-gap-card-offer span{font-weight:700;--tw-text-opacity:1 !important;color:rgb(31 41 55 / var(--tw-text-opacity, 1)) !important}.s-basket-gap-card-offer salla-count-down{flex-shrink:0}.s-basket-gap-card-offer salla-count-down:where([dir="ltr"],[dir="ltr"] *){margin-inline-start:0.25rem}.s-basket-gap-card-offer salla-count-down:where([dir="rtl"],[dir="rtl"] *){margin-inline-end:0.25rem}.s-basket-gap-card-offer .s-count-down-list{margin-left:-0px !important;margin-right:-0px !important;margin-bottom:0px !important;margin-top:0px !important;display:inline-flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start !important;column-gap:0px;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.s-basket-gap-card-offer .s-count-down-list:where([dir="ltr"],[dir="ltr"] *){flex-direction:row-reverse !important}.s-basket-gap-card-offer .s-count-down-list:where([dir="rtl"],[dir="rtl"] *){flex-direction:row !important}.s-basket-gap-card-offer .s-count-down-item{position:relative !important;margin-left:0px !important;margin-right:0px !important;display:inline-flex !important;width:auto !important;flex:none !important;flex-grow:0 !important;flex-direction:row !important;align-items:center !important;justify-content:center !important;padding-top:0px !important;padding-bottom:0px !important;padding-left:0px !important;padding-right:0px !important;font-size:12px !important;font-weight:700 !important;line-height:1 !important;--tw-text-opacity:1 !important;color:rgb(21 128 61 / var(--tw-text-opacity, 1)) !important}.s-basket-gap-card-offer .s-count-down-item-value{display:inline-block !important;width:2ch !important;min-width:2ch !important;text-align:center;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);line-height:1}.s-basket-gap-card-offer .s-count-down-item-label{display:none}.s-basket-gap-entry .s-basket-gap-card-offer.s-basket-gap-card-offer .s-count-down-item::before{content:none !important}.s-basket-gap-entry .s-basket-gap-card-offer.s-basket-gap-card-offer .s-count-down-item::after{content:none !important;position:static;left:auto;right:auto;transform:none}[dir=\'rtl\'] .s-basket-gap-entry .s-basket-gap-card-offer.s-basket-gap-card-offer .s-count-down-item:not(:last-child)::after{content:\':\' !important;position:static;left:auto;right:auto;transform:none;margin-left:0.15rem;margin-right:0.15rem;color:#15803d;font-size:12px;font-weight:700;line-height:1}[dir=\'ltr\'] .s-basket-gap-entry .s-basket-gap-card-offer.s-basket-gap-card-offer .s-count-down-item:not(:first-child)::after{content:\':\' !important;position:static;left:auto;right:auto;transform:none;margin-left:0.15rem;margin-right:0.15rem;color:#15803d;font-size:12px;font-weight:700;line-height:1}.s-basket-gap-card-btn{flex-shrink:0}.s-basket-gap-card-btn salla-button .s-button-btn{border-radius:var(--s-radius, 0.25rem);border-width:1px !important;border-color:var(--color-primary) !important;background-color:transparent !important;color:var(--color-primary) !important}.s-basket-gap-card-btn salla-button .s-button-btn:hover{background-color:var(--color-primary) !important;--tw-text-opacity:1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1)) !important}.s-basket-gap-card-btn salla-button .s-button-loader:before{border-top-color:var(--color-primary) !important;border-left-color:var(--color-primary) !important;border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity, 1)) !important;--tw-border-opacity:1 !important;border-right-color:rgb(243 244 246 / var(--tw-border-opacity, 1)) !important}.s-basket-gap-skeleton{display:flex;flex-direction:column;gap:0.75rem}.s-basket-gap-skeleton-card{display:flex;align-items:center;gap:0.75rem;padding-top:0.75rem;padding-bottom:0.75rem}.s-basket-gap-skeleton-info{display:flex;flex:1 1 0%;flex-direction:column;gap:0.5rem}';export{s as salla_basket_gap}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as e,c as t,h as i}from"./p-
|
|
4
|
+
import{r as e,c as t,h as i}from"./p-DvJClBwJ.js";import{C as s}from"./p-C6jIkM-X.js";import{F as r}from"./p-OF8QcbMM.js";const o=class{constructor(i){e(this,i),this.fieldChanged=t(this,"fieldChanged"),this.fileUploaded=t(this,"fileUploaded"),this.isEditable=!0,this.fieldErrors={},this.isSubmitting=!1}get dragAndDropText(){return salla.lang.get("common.uploader.drag_and_drop")}get browseText(){return salla.lang.get("common.uploader.browse")}get saveButtonText(){return salla.lang.get("common.elements.save")}async setFields(e){this.parsedFields=e}async getFieldValues(){return this.parsedFields?.reduce(((e,t)=>(e[`custom_fields[${t.id}]`]=t.value,e)),{})||{}}async validateFields(){if(!this.parsedFields)return!0;const e=this.parsedFields.reduce(((e,t)=>(!t.required||t.value&&""!==t.value||(e[t.id.toString()]=`${t.label} is required`),e)),{});return this.fieldErrors=e,0===Object.keys(e).length}handleFieldChange(e,t){const i=t.target.value;e.value=i,this.clearFieldError(e.id);const s=!(e.required&&!i);s||this.setFieldError(e.id,`${e.label} is required`),this.fieldChanged.emit({fieldId:e.id,value:i,isValid:s})}handleFileUpload(e,t){const{error:i,file:s}=t.detail,r=!i;this.clearFieldError(e.id),r?e.value=s:this.setFieldError(e.id,"File upload failed"),this.fileUploaded.emit({fieldId:e.id,file:s,isValid:r})}clearFieldError(e){this.fieldErrors={...this.fieldErrors},delete this.fieldErrors[e]}setFieldError(e,t){this.fieldErrors={...this.fieldErrors,[e]:t}}renderTextField(e){return i("input",{disabled:!this.isEditable,type:e.type,id:`custom-field-${e.id}`,value:e.value?.toString()||"",onChange:t=>this.handleFieldChange(e,t),name:`${e.id}`,class:"form-input",required:e.required})}renderFileField(e){return i("salla-file-upload",{url:salla.url.api("upload"),id:`custom-field-${e.id}`,name:`${e.id}`,type:"registration",value:e.value,height:"120px",onAdded:t=>this.handleFileUpload(e,t),required:e.required,disabled:!this.isEditable,onUploaded:e=>{e.target.value=e.target.value?.url},allowRemove:!0,onRemoved:t=>{t.preventDefault(),t.stopPropagation(),e.value="",t.target.value=""},payloadName:"files[]",payloadParams:{type:"registration"},"instant-upload":!0},i("div",{class:"s-custom-fields-filepond-placeholder"},i("span",{class:"s-custom-fields-filepond-placeholder-icon"},i("i",{innerHTML:s})),i("p",{class:"s-custom-fields-filepond-placeholder-text"},this.dragAndDropText),i("span",{class:"filepond--label-action"},this.browseText)))}renderField(e){return i("div",{class:"s-custom-fields-field",key:e.id},i("label",{class:"s-custom-fields-field-label",htmlFor:`custom-field-${e.id}`},e.label,!!e.required&&i("span",{class:"s-custom-fields-required"},"*")),i("div",null,e.type===r.Photo?this.renderFileField(e):this.renderTextField(e),this.fieldErrors[e.id]&&i("p",{class:"s-custom-fields-error"},this.fieldErrors[e.id])))}componentWillLoad(){this.parsedFields=this.parseFields(this.fields)}parseFields(e){return e?"string"==typeof e?JSON.parse(e):Array.isArray(e)?e:[]:[]}async handleSubmit(e){e.preventDefault(),this.isSubmitting=!0;try{const t={},i=e.target.elements;for(let e=0;e<i.length;e++){const s=i[e];s.name&&!s.name.startsWith("hidden")&&s.value&&(t[s.name]=s.value)}await salla.api.profile.updateCustomFields({id:salla.config.get("store.id"),fields:t})}finally{this.isSubmitting=!1}}render(){return this.parsedFields?.length?i("form",{class:"s-custom-fields-wrapper",onSubmit:this.handleSubmit},this.parsedFields.map((e=>this.renderField(e))),i("salla-button",{type:"submit",loading:this.isSubmitting,disabled:this.isSubmitting||!this.isEditable,"loader-position":"end",class:"s-custom-fields-submit-btn"},this.saveButtonText)):null}};o.style="/*!twlt*/:host{display:block}.hidden{display:none}.form-input{height:2.5rem;width:100%;border-radius:0.375rem;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.form-input:focus{border-color:var(--color-primary);--tw-ring-color:transparent}.form-input:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.form-input:focus:is(.dark *){border-color:var(--color-primary)}@media (min-width: 640px){.form-input{font-size:0.875rem;line-height:1.25rem}}.s-custom-fields-wrapper{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));gap:1.5rem}@media (min-width: 640px){.s-custom-fields-wrapper{grid-template-columns:repeat(2, minmax(0, 1fr));gap:2rem}}.s-custom-fields-required{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-custom-fields-submit-btn{grid-column:1 / -1;width:100%}.s-custom-fields-field-error{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-custom-fields-field-label{margin-bottom:0.5rem;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-custom-fields-skeleton-wrapper{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));grid-template-rows:repeat(3, minmax(0, 1fr));gap:3rem}.s-custom-fields-filepond-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center}.s-custom-fields-filepond-placeholder-icon{margin-bottom:0.25rem}.s-custom-fields-filepond-placeholder-icon svg{height:1.5rem;width:1.5rem;fill:#7c8082}";export{o as salla_custom_fields}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,h as i,H as s,a as e}from"./p-
|
|
4
|
+
import{r as t,h as i,H as s,a as e}from"./p-DvJClBwJ.js";import{i as n}from"./p-DgheRYLY.js";import{W as o}from"./p-CgR-T_ZS.js";import{M as r}from"./p-DmgxDvXL.js";const a=class{constructor(i){t(this,i),this.hideTitle=!1,this.isHeader=!1,this.horizontal=!1,this.iconsOnly=!1,this.sdkContacts=null,this.iconsList={mobile:'\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>iphone</title>\n<path d="M15.053 27.613c0.133 0.12 0.28 0.213 0.44 0.28s0.333 0.107 0.507 0.107c0.36 0 0.693-0.135 0.947-0.387 0.12-0.135 0.213-0.28 0.28-0.44 0.080-0.16 0.107-0.333 0.107-0.507 0-0.347-0.147-0.695-0.387-0.947-0.507-0.493-1.387-0.493-1.893 0-0.12 0.12-0.213 0.267-0.28 0.44-0.067 0.16-0.107 0.333-0.107 0.507s0.040 0.347 0.107 0.507 0.16 0.305 0.28 0.44zM24 0h-16c-2.205 0-4 1.795-4 4v24c0 2.205 1.795 4 4 4h16c2.205 0 4-1.795 4-4v-24c0-2.205-1.795-4-4-4zM25.333 28c0 0.736-0.599 1.333-1.333 1.333h-16c-0.735 0-1.333-0.597-1.333-1.333v-4h18.667zM25.333 21.333h-18.667v-17.333c0-0.735 0.599-1.333 1.333-1.333h16c0.735 0 1.333 0.599 1.333 1.333z"></path>\n</svg>\n',whatsapp:o,phone:'\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>phone</title>\n<path d="M30.823 21.713l-3.883-3.883c-1.569-1.568-4.12-1.568-5.689 0l-2.568 2.568c-3.063-1.499-5.583-4.019-7.081-7.083l2.568-2.567c0.759-0.76 1.177-1.771 1.177-2.845s-0.419-2.084-1.179-2.844l-3.881-3.881c-1.52-1.521-4.171-1.521-5.689 0l-1.845 1.847c-2.22 2.219-3.183 5.407-2.573 8.527 1.98 10.144 10.125 18.292 20.269 20.271 0.616 0.121 1.236 0.18 1.849 0.18 2.492 0 4.896-0.972 6.677-2.752l1.847-1.847c1.568-1.571 1.568-4.121 0.001-5.691zM28.936 25.517l-1.845 1.847c-1.592 1.592-3.883 2.283-6.132 1.841-9.089-1.776-16.388-9.075-18.163-18.165-0.439-2.247 0.249-4.539 1.841-6.129l1.847-1.847c0.256-0.257 0.596-0.397 0.959-0.397s0.703 0.14 0.959 0.397l3.883 3.883c0.256 0.256 0.397 0.596 0.397 0.959s-0.141 0.703-0.397 0.96l-3.22 3.217c-0.383 0.384-0.496 0.959-0.287 1.457 1.813 4.339 5.343 7.868 9.683 9.684 0.497 0.207 1.073 0.095 1.457-0.288l3.22-3.22c0.529-0.529 1.389-0.528 1.917 0l3.881 3.883c0.528 0.529 0.528 1.389 0 1.919z"></path>\n</svg>\n',telegram:'\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>paper-plane-o</title>\n<path d="M31.5 0.482c0.375 0.268 0.554 0.696 0.482 1.143l-4.571 27.429c-0.054 0.339-0.268 0.625-0.571 0.804-0.161 0.089-0.357 0.143-0.554 0.143-0.143 0-0.286-0.036-0.429-0.089l-9.411-3.839-5.321 5.839c-0.214 0.25-0.518 0.375-0.839 0.375-0.143 0-0.286-0.018-0.411-0.071-0.446-0.179-0.732-0.607-0.732-1.071v-8.071l-8.429-3.446c-0.411-0.161-0.679-0.536-0.714-0.982-0.036-0.429 0.196-0.839 0.571-1.054l29.714-17.143c0.375-0.232 0.857-0.214 1.214 0.036zM25.393 27.25l3.946-23.625-25.607 14.768 6 2.446 15.411-11.411-8.536 14.232z"></path>\n</svg>\n',email:r}}componentWillLoad(){this.contactSlot=this.host.querySelector('[slot="contact"]')?.innerHTML}getTemplate(){return this.slotTemplate||this.contactSlot||this.getDefaultSlot()}getDefaultSlot(){return'<a href="{link}" aria-label="{value}" class="s-contacts-item"><span class="s-contacts-icon">{icon}</span>'+(this.iconsOnly?"":"<span class='unicode'>{value}</span>")+"</a>"}connectedCallback(){n()&&(this.langUnsubscribe=salla.lang.subscribe((()=>{this.contactsTitle&&this.contactsTitle!==this.langTitle||(this.contactsTitle=this.langTitle=salla.lang.get("blocks.footer.social"))}))),n()&&salla.onReady((()=>{this.sdkContacts=salla.config.get("store.contacts")}))}disconnectedCallback(){this.langUnsubscribe?.()}getContactsData(){return this.contacts||this.sdkContacts||{}}getContactsArray(){const t=Object.entries(this.getContactsData()).filter((([t,i])=>"string"==typeof i&&""!==i.trim()&&(null==this.channels||this.channels.split(",").map((t=>t.trim())).includes(t)))).map((([t,i])=>({type:t,value:i})));if(!this.iconsOnly)return t;const i=a.ICONS_ONLY_ORDER,s=t=>{const s=i.indexOf(t);return-1===s?i.length:s};return t.sort(((t,i)=>s(t.type)-s(i.type)))}getContactLink(t,i){switch(t){case"phone":case"mobile":return`tel:${i}`;case"whatsapp":const t=i.toString().replace(/[^\d]/g,"");return t?`https://wa.me/${t}`:n()?salla.url.get("whatsapp/send"):"";case"email":return`mailto:${i}`;case"telegram":return i.startsWith("https://t.me/")?i:`https://t.me/${i}`;default:return i}}getContactIcon(t){return this.iconsList[t]||""}componentDidRender(){this.host.querySelector('[slot="contact"]')?.remove()}render(){const t=this.getContactsArray();if(t&&0!==t.length)return this.isHeader?i(s,{class:"s-contacts s-contacts-header"},t.filter((t=>"phone"===t.type||"email"===t.type)).map(((t,s)=>i("a",{href:this.getContactLink(t.type,t.value),key:s,class:"s-contacts-topnav-link"},"email"===t.type?t.value:[i("span",null,this.contactsTitle,": "),i("span",{class:"unicode"},t.value)])))):i(s,{class:{"s-contacts":!0,"s-contacts-with-introduction":!!this.introduction}},this.introduction?i("p",{class:"s-contacts-introduction"},this.introduction):null,!this.hideTitle&&this.contactsTitle&&i("h3",{class:"s-contacts-title"},this.contactsTitle),i("div",{class:{"s-contacts-list":!0,"s-contacts-list-horizontal":this.horizontal,"s-contacts-list-vertical":!this.horizontal,"s-contacts-list-icons-only":this.iconsOnly}},t.map(((t,s)=>i("div",{key:s,id:"contact-slot",innerHTML:this.getTemplate().replace(/\{icon\}/g,this.getContactIcon(t.type)).replace(/\{value\}/g,t.value.toString()).replace(/\{link\}/g,this.getContactLink(t.type,t.value))})))))}get host(){return e(this)}};a.ICONS_ONLY_ORDER=["whatsapp","mobile","phone","telegram","email"],a.style='/*!twlt*/.unicode{unicode-bidi:plaintext}.static{position:static}.block{display:block}.contents{display:contents}.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-contacts-title{margin-bottom:0.75rem;font-size:1.125rem;line-height:1.75rem;font-weight:700}@media (min-width: 1024px){.s-contacts-title{margin-bottom:1.25rem}}.s-contacts-header{display:none;align-items:center}@media (min-width: 1024px){.s-contacts-header{display:flex}}.s-contacts-topnav-link{display:inline-block;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-left:1rem;padding-right:1rem;padding-top:1px;padding-bottom:1px;font-size:0.875rem;line-height:1.25rem;line-height:1;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-contacts-topnav-link:hover{opacity:0.8}.s-contacts-topnav-link:where([dir="ltr"],[dir="ltr"] *){border-right-width:1px}.s-contacts-topnav-link:last-child:where([dir="ltr"],[dir="ltr"] *){border-width:0px;padding-right:0px}.s-contacts-topnav-link:where([dir="rtl"],[dir="rtl"] *){border-left-width:1px}.s-contacts-topnav-link:last-child:where([dir="rtl"],[dir="rtl"] *){border-width:0px;padding-left:0px}.s-contacts-item{display:flex;align-items:center;font-size:0.875rem;line-height:1.25rem;line-height:1}.s-contacts-icon{display:flex;height:2rem;width:2rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;border-width:1px}.s-contacts-icon:where([dir="ltr"],[dir="ltr"] *){margin-right:0.625rem}.s-contacts-icon:where([dir="rtl"],[dir="rtl"] *){margin-left:0.625rem}.s-contacts-icon svg{height:0.875rem;width:0.875rem;fill:currentColor}.s-contacts-list{display:flex;gap:1rem}.s-contacts-list-horizontal{align-items:center}.s-contacts-list-vertical{flex-direction:column}.s-contacts-list-icons-only .s-contacts-icon{margin-left:0px;margin-right:0px;height:2.5rem;width:2.5rem;border-radius:0.5rem;border-color:var(--color-border,#eee)}.s-contacts-list-icons-only{gap:0.5rem}.s-contacts-with-introduction{display:flex;flex-direction:column;align-items:center;gap:0.75rem;text-align:center}.s-contacts-introduction{margin:0px;font-size:0.875rem;line-height:1.25rem;color:var(--color-text-secondary,#666)}.s-contacts-with-introduction .s-contacts-icon{color:var(--color-primary)}.s-thank-you-page-wrapper .s-contacts-introduction{font-size:1rem;line-height:1.5rem}.s-thank-you-page-wrapper .s-contacts-icon svg{height:1.25rem;width:1.25rem}.s-thank-you-page-wrapper .s-contacts-with-introduction{gap:1rem}';export{a as salla_contacts}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r,f as e,h as s,H as t}from"./p-ze9e0dxM.js";import{C as i}from"./p-CTtM5VoO.js";import{S as a}from"./p-C_pGXoBk.js";import{s as o}from"./p-BQHBj1u_.js";class n{async run(r){this.abort();const{signal:e}=this.controller=new AbortController;try{const s=await r(e);return e.aborted?{aborted:!0}:{aborted:!1,result:s}}catch(r){if(e.aborted)return{aborted:!0};throw r}}abort(){this.controller?.abort()}}const l=class{constructor(e){r(this,e),this.stickyCta=!1,this.shipments=[],this.request=new n,this.keepFirstExpanded=!1,this.itemIndex={byId:new Map,byUniqueName:new Map}}async componentWillLoad(){if(this.indexItems(this.items),await salla.onReady(),this.readInitialShipments(this.initialShipments),null==this.items)return this.fetchShipments();this.fetchShipments()}readInitialShipments(r){try{const e="string"==typeof r?JSON.parse(r):r;this.shipments=Array.isArray(e)?e:[]}catch{this.shipments=[]}}async onOrderIdChange(){this.shipments=[],await this.fetchShipments()}connectedCallback(){this.langUnsubscribe=salla.lang.subscribe((()=>e(this)))}disconnectedCallback(){this.request.abort(),this.langUnsubscribe?.()}async openTrackingSheet(){await(this.sheet?.open())}async fetchShipments(){this.request.abort();const r=this.orderId||salla.config.get("page.id");if(r)try{const{aborted:e,result:s}=await this.request.run((e=>salla.order.api.getShipments(r,e)));if(e)return;const t=s?.data,i=Array.isArray(t)?t:Array.isArray(t?.data)?t.data:[];if(!i.length)return;this.keepFirstExpanded=!1===this.fallbackCard?.collapsed,this.shipments=i.every((r=>r.products?.length))||!this.shipments.length?i:this.shipments.map(((r,e)=>{const s=i.length===this.shipments.length?i[e]:void 0,t=i.find((e=>null!=e.id&&null!=r.id&&String(e.id)===String(r.id)))??(!s||null!=s.id&&null!=r.id?void 0:s);return t?{...r,...t,products:t.products?.length?t.products:r.products}:r}))}catch(r){const e=r?.response?.data?.error?.message||r?.response?.data?.message;e&&salla.notify.error(e)}}label(r,e){return salla.lang.getWithDefault(r,e)}get isSplit(){return this.shipments.length>1}slaText(r){if(r.sla)return r.sla;const e=r.estimated_delivery_at?new Date(r.estimated_delivery_at.replace(" ","T")).getTime():NaN,s=Math.ceil((e-Date.now())/864e5);return!Number.isFinite(s)||s<1?"":1===s?salla.lang.get("pages.thank_you.arrives_within_day"):salla.lang.get("pages.thank_you.arrives_within_days").replace(":days",salla.helpers.number(s))}trackingNumber(r){const e=r.number;return e&&0!==Number(e)?String(e):""}async copyTracking(r){try{await navigator.clipboard.writeText(r),salla.notify.success(this.label("common.elements.copied","تم النسخ"))}catch{}}shipmentTitle(r){return this.isSplit?salla.lang.get("pages.thank_you.shipment_number").replace(":number",salla.helpers.number(r+1)):salla.lang.get("pages.orders.shipment_details")}renderTracking(r){const e=this.trackingNumber(r);return e?s("button",{type:"button",class:"s-order-shipments-tracking",title:salla.lang.get("common.elements.copy"),onClick:()=>this.copyTracking(e)},s("span",{dir:"ltr"},"#",e),s("span",{innerHTML:i})):s("span",{class:"s-order-shipments-placeholder"},salla.lang.get("pages.thank_you.tracking_placeholder"))}renderCarrier(r){return s("div",{class:"s-order-shipments-carrier"},r.logo?s("img",{src:r.logo,class:"s-order-shipments-logo",alt:r.name||""}):null,s("div",{class:"s-order-shipments-carrier-text"},s("div",{class:"s-order-shipments-carrier-row"},this.slaText(r)?s("b",{class:"s-order-shipments-sla"},this.slaText(r)):null,s("div",{class:"s-order-shipments-info"},this.renderTracking(r))),r.name?s("span",{class:"s-order-shipments-name"},r.name):null))}renderTrackButton(r,e=!1){const t=o(r.tracking_url)||null,i=t?salla.lang.get("pages.orders.tracking"):salla.lang.get("pages.thank_you.track_after_ready");return s("a",{class:{"s-order-shipments-track":!0,"s-order-shipments-track-primary":e},href:t||void 0,target:t?"_blank":void 0,rel:t?"noopener":void 0,"aria-disabled":String(!t)},s("span",{innerHTML:a}),s("span",null,i))}indexItems(r){let e=[];try{const s="string"==typeof r?JSON.parse(r):r;Array.isArray(s)&&(e=s)}catch{}const s=new Map,t=new Map;for(const r of e)null!=r.id&&s.set(String(r.id),r),t.set(r.name,t.has(r.name)?null:r);const i=new Map([...t].filter((([,r])=>r)));this.itemIndex={byId:s,byUniqueName:i}}shipmentItems(r){if(!r.products?.length)return this.isSplit?[]:this.items;const{byId:e,byUniqueName:s}=this.itemIndex;return r.products.map((r=>{const t=null!=r.id&&e.get(String(r.id))||s.get(r.name);return{...r,price:t?.price??r.price,url:r.url??t?.url}}))}renderShipment(r,e){return s("salla-order-items",{class:"s-order-shipments-card",currency:this.currency,items:this.shipmentItems(r),cardTitle:this.shipmentTitle(e),summary:this.slaText(r)||void 0,logo:r.logo||void 0,collapsed:!(0===e&&this.keepFirstExpanded)},s("div",{slot:"footer",class:"s-order-shipments-footer"},this.renderCarrier(r),this.renderTrackButton(r)))}renderSheet(){return s("salla-modal",{class:"s-order-shipments-modal",position:"middle",width:"md",ref:r=>{this.sheet=r,r?.setTitle?.(salla.lang.get("pages.thank_you.shipments_details"))}},s("div",{class:"s-order-shipments-sheet"},this.shipments.map(((r,e)=>s("div",{class:"s-order-shipments-sheet-item"},s("span",{class:"s-order-shipments-title"},this.shipmentTitle(e)),s("div",{class:"s-order-shipments-thumbs"},(r.products||[]).map((r=>s("span",{class:"s-order-shipments-thumb",title:r.name},r.image?s("img",{src:r.image,alt:r.name}):null)))),this.renderCarrier(r),this.renderTrackButton(r))))))}renderCta(){return this.isSplit?s("button",{type:"button",class:"s-order-shipments-track s-order-shipments-track-primary",onClick:()=>this.openTrackingSheet()},s("span",{innerHTML:a}),s("span",null,salla.lang.get("pages.orders.tracking"))):this.renderTrackButton(this.shipments[0],!0)}renderFallbackCard(){return s("salla-order-items",{ref:r=>this.fallbackCard=r,currency:this.currency,items:this.items,collapsed:!0})}renderUngroupedCard(){return s("salla-order-items",{ref:r=>this.fallbackCard=r,currency:this.currency,items:this.items,collapsed:!this.keepFirstExpanded},s("div",{slot:"footer",class:"s-order-shipments-footer"},this.shipments.map(((r,e)=>s("div",{class:"s-order-shipments-shipment-tracking"},s("span",{class:"s-order-shipments-title"},this.shipmentTitle(e)),this.renderCarrier(r),this.renderTrackButton(r))))))}render(){if(!this.shipments.length)return null!=this.items?s(t,{class:"s-order-shipments-wrapper"},this.renderFallbackCard()):s(t,{class:"s-order-shipments-empty"});const r=!this.isSplit||null==this.items||this.shipments.every((r=>r.products?.length));return s(t,{class:"s-order-shipments-wrapper"},s("div",{class:"s-order-shipments-list"},r?this.shipments.map(((r,e)=>this.renderShipment(r,e))):this.renderUngroupedCard()),this.stickyCta?s("div",{class:"s-order-shipments-cta"},this.renderCta()):null,this.isSplit?this.renderSheet():null)}static get watchers(){return{initialShipments:["readInitialShipments"],orderId:["onOrderIdChange"],items:["indexItems"]}}};l.style='/*!twlt*/:host{display:flex;flex-direction:column}@media not all and (min-width: 768px){.s-order-shipments-cta{position:fixed;left:0px;right:0px;bottom:0px;z-index:40;border-top-width:1px;border-color:var(--color-border,#eee);background-color:var(--color-surface,#fff);padding:1rem}.s-order-shipments-modal .s-modal-body{position:fixed;bottom:0px;left:0px;margin-top:0px;margin-bottom:0px;max-width:none;border-bottom-right-radius:0px;border-bottom-left-radius:0px;max-height:calc(100vh - 2rem) !important;overflow-y:auto !important;overflow-x:hidden !important}.s-order-shipments-modal .s-modal-body.s-modal-entering{--tw-translate-y:0px;--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))}.s-order-shipments-modal .s-modal-body.s-modal-leaving{--tw-translate-y:1rem;--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))}.s-order-shipments-wrapper:has(.s-order-shipments-cta):not(.s-thank-you-page-wrapper *){padding-bottom:calc(6rem + env(safe-area-inset-bottom, 0px))}}.fixed{position:fixed}.sticky{position:sticky}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-order-shipments-wrapper{display:flex;flex-direction:column;gap:1.5rem}.s-order-shipments-empty{display:none}.s-order-shipments-list{display:flex;flex-direction:column;gap:0.75rem}.s-order-shipments-card{display:block}.s-order-shipments-footer{display:flex;flex-direction:column;gap:1.5rem}.s-order-shipments-shipment-tracking{display:flex;flex-direction:column;gap:0.75rem}.s-order-shipments-carrier{display:flex;align-items:flex-start;gap:0.75rem}.s-order-shipments-logo{height:2.5rem;width:2.5rem;flex-shrink:0;border-radius:0.5rem;border-width:1px;border-color:var(--color-border,#eee);object-fit:contain;padding:0.125rem}.s-order-shipments-carrier-text{display:flex;min-width:0px;flex:1 1 0%;flex-direction:column;gap:0.125rem;font-size:0.75rem;line-height:1rem;color:var(--color-text-primary,#333)}.s-order-shipments-carrier-row{display:flex;width:100%;align-items:center;gap:1rem}.s-order-shipments-sla{min-width:0px;flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.s-order-shipments-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-order-shipments-info{margin-inline-start:auto;flex-shrink:0;font-size:0.75rem;line-height:1rem;color:var(--color-text-secondary,#666)}.s-order-shipments-tracking{display:inline-flex;cursor:pointer;align-items:center;gap:0.25rem;border-width:0px;background-color:transparent;padding:0px;color:currentColor}.s-order-shipments-tracking svg{height:0.875rem;width:0.875rem;fill:currentColor}.s-order-shipments-placeholder{display:inline-flex;align-items:center;gap:0.25rem}.s-order-shipments-track{display:inline-flex;min-height:2.5rem;width:100%;cursor:pointer;align-items:center;justify-content:center;gap:0.5rem;border-radius:0.5rem;border-width:1px;border-color:var(--color-border,#eee);background-color:transparent;padding-left:1rem;padding-right:1rem;padding-top:0.5rem;padding-bottom:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;color:var(--color-primary);text-decoration-line:none}.s-order-shipments-track svg{height:1rem;width:1rem;fill:currentColor}.s-order-shipments-track[aria-disabled=\'true\']{pointer-events:none;color:var(--color-text-secondary,#999)}.s-order-shipments-track-primary{min-height:3rem;border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-primary-reverse)}@media (min-width: 768px){.s-order-shipments-cta{order:-1}}.s-order-shipments-sheet{display:flex;flex-direction:column;gap:0.75rem}@media (min-width: 768px){.s-order-shipments-sheet{gap:1.5rem}}.s-order-shipments-sheet-item{display:flex;flex-direction:column;gap:0.75rem;border-radius:1rem;border-width:1px;border-color:var(--color-border-light,#f4f4f4);padding:0.75rem}.s-order-shipments-title{font-size:0.875rem;line-height:1.25rem;font-weight:700;color:var(--color-primary)}.s-order-shipments-thumbs{display:flex;gap:0.5rem;overflow-x:auto}.s-order-shipments-thumb{display:inline-flex;height:2.75rem;width:2.75rem;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden;border-radius:0.75rem;border-width:1px;border-color:var(--color-border-light,#f4f4f4)}.s-order-shipments-thumb img{display:block;height:100%;width:100%;object-fit:cover}.s-order-shipments-track-primary[aria-disabled=\'true\']{border-color:color-mix(in srgb,var(--color-primary) 60%,white);background-color:color-mix(in srgb,var(--color-primary) 60%,white);color:var(--color-primary-reverse)}.s-order-shipments-sheet-item .s-order-shipments-thumbs{margin-top:0.25rem}.s-order-shipments-sheet-item .s-order-shipments-carrier{border-top-width:1px;border-color:var(--color-border-light,#f4f4f4);padding-top:0.75rem}.s-order-shipments-sheet-item .s-order-shipments-logo{height:2.75rem;width:2.75rem;padding:0.125rem}.s-order-shipments-modal .s-modal-body{border-top-left-radius:1rem;border-top-right-radius:1rem}@media (min-width: 768px){.s-order-shipments-modal .s-modal-body{max-width:42rem;border-radius:1rem}}.s-order-shipments-modal .s-modal-padding{padding:1rem}@media (min-width: 768px){.s-order-shipments-modal .s-modal-padding{padding:2rem}}.s-order-shipments-modal .s-modal-header-inner{margin-bottom:0.75rem}@media (min-width: 768px){.s-order-shipments-modal .s-modal-header-inner{margin-bottom:1.5rem}}.s-order-shipments-modal .s-modal-header-content{text-align:start}@media (min-width: 768px){.s-order-shipments-modal .s-modal-header-content{text-align:start}}.s-order-shipments-modal .s-modal-title{margin-bottom:0px;font-size:1.125rem;line-height:1.75rem;color:var(--color-primary)}@media (min-width: 768px){.s-order-shipments-modal .s-modal-title{margin-bottom:0px}}.s-order-shipments-modal .s-modal-close{display:none}@media (min-width: 768px){.s-order-shipments-modal .s-modal-close{top:2rem;display:block;width:1.5rem;padding-left:0px;padding-right:0px}.s-order-shipments-modal .s-modal-close:where([dir="ltr"],[dir="ltr"] *){right:2rem}.s-order-shipments-modal .s-modal-close:where([dir="rtl"],[dir="rtl"] *){left:2rem}.s-order-shipments-modal .s-modal-close svg{width:1.5rem}}.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-carrier-text,.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-info{font-size:0.875rem;line-height:1.25rem}.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-track,.s-thank-you-page-wrapper .s-order-shipments-cta .s-order-shipments-track{font-size:1rem;line-height:1.5rem}.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-track svg,.s-thank-you-page-wrapper .s-order-shipments-cta .s-order-shipments-track svg,.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-tracking svg{height:1.25rem;width:1.25rem}.s-thank-you-page-wrapper .s-order-shipments-footer{gap:1rem}@media (min-width: 640px){.s-thank-you-page-wrapper .s-order-shipments-footer{gap:1.5rem}}.s-thank-you-page-wrapper .s-order-shipments-carrier-row{flex-wrap:wrap;column-gap:0.75rem;row-gap:0.5rem}.s-thank-you-page-wrapper .s-order-shipments-info{max-width:100%;word-break:break-all}.s-thank-you-page-wrapper .s-order-shipments-tracking{max-width:100%}';export{l as salla_order_shipments}
|
|
4
|
+
import{r,f as e,h as s,H as t}from"./p-DvJClBwJ.js";import{C as i}from"./p-CTtM5VoO.js";import{S as a}from"./p-C_pGXoBk.js";import{s as o}from"./p-BQHBj1u_.js";class n{async run(r){this.abort();const{signal:e}=this.controller=new AbortController;try{const s=await r(e);return e.aborted?{aborted:!0}:{aborted:!1,result:s}}catch(r){if(e.aborted)return{aborted:!0};throw r}}abort(){this.controller?.abort()}}const l=class{constructor(e){r(this,e),this.stickyCta=!1,this.shipments=[],this.request=new n,this.keepFirstExpanded=!1,this.itemIndex={byId:new Map,byUniqueName:new Map}}async componentWillLoad(){if(this.indexItems(this.items),await salla.onReady(),this.readInitialShipments(this.initialShipments),null==this.items)return this.fetchShipments();this.fetchShipments()}readInitialShipments(r){try{const e="string"==typeof r?JSON.parse(r):r;this.shipments=Array.isArray(e)?e:[]}catch{this.shipments=[]}}async onOrderIdChange(){this.shipments=[],await this.fetchShipments()}connectedCallback(){this.langUnsubscribe=salla.lang.subscribe((()=>e(this)))}disconnectedCallback(){this.request.abort(),this.langUnsubscribe?.()}async openTrackingSheet(){await(this.sheet?.open())}async fetchShipments(){this.request.abort();const r=this.orderId||salla.config.get("page.id");if(r)try{const{aborted:e,result:s}=await this.request.run((e=>salla.order.api.getShipments(r,e)));if(e)return;const t=s?.data,i=Array.isArray(t)?t:Array.isArray(t?.data)?t.data:[];if(!i.length)return;this.keepFirstExpanded=!1===this.fallbackCard?.collapsed,this.shipments=i.every((r=>r.products?.length))||!this.shipments.length?i:this.shipments.map(((r,e)=>{const s=i.length===this.shipments.length?i[e]:void 0,t=i.find((e=>null!=e.id&&null!=r.id&&String(e.id)===String(r.id)))??(!s||null!=s.id&&null!=r.id?void 0:s);return t?{...r,...t,products:t.products?.length?t.products:r.products}:r}))}catch(r){const e=r?.response?.data?.error?.message||r?.response?.data?.message;e&&salla.notify.error(e)}}label(r,e){return salla.lang.getWithDefault(r,e)}get isSplit(){return this.shipments.length>1}slaText(r){if(r.sla)return r.sla;const e=r.estimated_delivery_at?new Date(r.estimated_delivery_at.replace(" ","T")).getTime():NaN,s=Math.ceil((e-Date.now())/864e5);return!Number.isFinite(s)||s<1?"":1===s?salla.lang.get("pages.thank_you.arrives_within_day"):salla.lang.get("pages.thank_you.arrives_within_days").replace(":days",salla.helpers.number(s))}trackingNumber(r){const e=r.number;return e&&0!==Number(e)?String(e):""}async copyTracking(r){try{await navigator.clipboard.writeText(r),salla.notify.success(this.label("common.elements.copied","تم النسخ"))}catch{}}shipmentTitle(r){return this.isSplit?salla.lang.get("pages.thank_you.shipment_number").replace(":number",salla.helpers.number(r+1)):salla.lang.get("pages.orders.shipment_details")}renderTracking(r){const e=this.trackingNumber(r);return e?s("button",{type:"button",class:"s-order-shipments-tracking",title:salla.lang.get("common.elements.copy"),onClick:()=>this.copyTracking(e)},s("span",{dir:"ltr"},"#",e),s("span",{innerHTML:i})):s("span",{class:"s-order-shipments-placeholder"},salla.lang.get("pages.thank_you.tracking_placeholder"))}renderCarrier(r){return s("div",{class:"s-order-shipments-carrier"},r.logo?s("img",{src:r.logo,class:"s-order-shipments-logo",alt:r.name||""}):null,s("div",{class:"s-order-shipments-carrier-text"},s("div",{class:"s-order-shipments-carrier-row"},this.slaText(r)?s("b",{class:"s-order-shipments-sla"},this.slaText(r)):null,s("div",{class:"s-order-shipments-info"},this.renderTracking(r))),r.name?s("span",{class:"s-order-shipments-name"},r.name):null))}renderTrackButton(r,e=!1){const t=o(r.tracking_url)||null,i=t?salla.lang.get("pages.orders.tracking"):salla.lang.get("pages.thank_you.track_after_ready");return s("a",{class:{"s-order-shipments-track":!0,"s-order-shipments-track-primary":e},href:t||void 0,target:t?"_blank":void 0,rel:t?"noopener":void 0,"aria-disabled":String(!t)},s("span",{innerHTML:a}),s("span",null,i))}indexItems(r){let e=[];try{const s="string"==typeof r?JSON.parse(r):r;Array.isArray(s)&&(e=s)}catch{}const s=new Map,t=new Map;for(const r of e)null!=r.id&&s.set(String(r.id),r),t.set(r.name,t.has(r.name)?null:r);const i=new Map([...t].filter((([,r])=>r)));this.itemIndex={byId:s,byUniqueName:i}}shipmentItems(r){if(!r.products?.length)return this.isSplit?[]:this.items;const{byId:e,byUniqueName:s}=this.itemIndex;return r.products.map((r=>{const t=null!=r.id&&e.get(String(r.id))||s.get(r.name);return{...r,price:t?.price??r.price,url:r.url??t?.url}}))}renderShipment(r,e){return s("salla-order-items",{class:"s-order-shipments-card",currency:this.currency,items:this.shipmentItems(r),cardTitle:this.shipmentTitle(e),summary:this.slaText(r)||void 0,logo:r.logo||void 0,collapsed:!(0===e&&this.keepFirstExpanded)},s("div",{slot:"footer",class:"s-order-shipments-footer"},this.renderCarrier(r),this.renderTrackButton(r)))}renderSheet(){return s("salla-modal",{class:"s-order-shipments-modal",position:"middle",width:"md",ref:r=>{this.sheet=r,r?.setTitle?.(salla.lang.get("pages.thank_you.shipments_details"))}},s("div",{class:"s-order-shipments-sheet"},this.shipments.map(((r,e)=>s("div",{class:"s-order-shipments-sheet-item"},s("span",{class:"s-order-shipments-title"},this.shipmentTitle(e)),s("div",{class:"s-order-shipments-thumbs"},(r.products||[]).map((r=>s("span",{class:"s-order-shipments-thumb",title:r.name},r.image?s("img",{src:r.image,alt:r.name}):null)))),this.renderCarrier(r),this.renderTrackButton(r))))))}renderCta(){return this.isSplit?s("button",{type:"button",class:"s-order-shipments-track s-order-shipments-track-primary",onClick:()=>this.openTrackingSheet()},s("span",{innerHTML:a}),s("span",null,salla.lang.get("pages.orders.tracking"))):this.renderTrackButton(this.shipments[0],!0)}renderFallbackCard(){return s("salla-order-items",{ref:r=>this.fallbackCard=r,currency:this.currency,items:this.items,collapsed:!0})}renderUngroupedCard(){return s("salla-order-items",{ref:r=>this.fallbackCard=r,currency:this.currency,items:this.items,collapsed:!this.keepFirstExpanded},s("div",{slot:"footer",class:"s-order-shipments-footer"},this.shipments.map(((r,e)=>s("div",{class:"s-order-shipments-shipment-tracking"},s("span",{class:"s-order-shipments-title"},this.shipmentTitle(e)),this.renderCarrier(r),this.renderTrackButton(r))))))}render(){if(!this.shipments.length)return null!=this.items?s(t,{class:"s-order-shipments-wrapper"},this.renderFallbackCard()):s(t,{class:"s-order-shipments-empty"});const r=!this.isSplit||null==this.items||this.shipments.every((r=>r.products?.length));return s(t,{class:"s-order-shipments-wrapper"},s("div",{class:"s-order-shipments-list"},r?this.shipments.map(((r,e)=>this.renderShipment(r,e))):this.renderUngroupedCard()),this.stickyCta?s("div",{class:"s-order-shipments-cta"},this.renderCta()):null,this.isSplit?this.renderSheet():null)}static get watchers(){return{initialShipments:["readInitialShipments"],orderId:["onOrderIdChange"],items:["indexItems"]}}};l.style='/*!twlt*/:host{display:flex;flex-direction:column}@media not all and (min-width: 768px){.s-order-shipments-cta{position:fixed;left:0px;right:0px;bottom:0px;z-index:40;border-top-width:1px;border-color:var(--color-border,#eee);background-color:var(--color-surface,#fff);padding:1rem}.s-order-shipments-modal .s-modal-body{position:fixed;bottom:0px;left:0px;margin-top:0px;margin-bottom:0px;max-width:none;border-bottom-right-radius:0px;border-bottom-left-radius:0px;max-height:calc(100vh - 2rem) !important;overflow-y:auto !important;overflow-x:hidden !important}.s-order-shipments-modal .s-modal-body.s-modal-entering{--tw-translate-y:0px;--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))}.s-order-shipments-modal .s-modal-body.s-modal-leaving{--tw-translate-y:1rem;--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))}.s-order-shipments-wrapper:has(.s-order-shipments-cta):not(.s-thank-you-page-wrapper *){padding-bottom:calc(6rem + env(safe-area-inset-bottom, 0px))}}.fixed{position:fixed}.sticky{position:sticky}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.s-order-shipments-wrapper{display:flex;flex-direction:column;gap:1.5rem}.s-order-shipments-empty{display:none}.s-order-shipments-list{display:flex;flex-direction:column;gap:0.75rem}.s-order-shipments-card{display:block}.s-order-shipments-footer{display:flex;flex-direction:column;gap:1.5rem}.s-order-shipments-shipment-tracking{display:flex;flex-direction:column;gap:0.75rem}.s-order-shipments-carrier{display:flex;align-items:flex-start;gap:0.75rem}.s-order-shipments-logo{height:2.5rem;width:2.5rem;flex-shrink:0;border-radius:0.5rem;border-width:1px;border-color:var(--color-border,#eee);object-fit:contain;padding:0.125rem}.s-order-shipments-carrier-text{display:flex;min-width:0px;flex:1 1 0%;flex-direction:column;gap:0.125rem;font-size:0.75rem;line-height:1rem;color:var(--color-text-primary,#333)}.s-order-shipments-carrier-row{display:flex;width:100%;align-items:center;gap:1rem}.s-order-shipments-sla{min-width:0px;flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.s-order-shipments-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-order-shipments-info{margin-inline-start:auto;flex-shrink:0;font-size:0.75rem;line-height:1rem;color:var(--color-text-secondary,#666)}.s-order-shipments-tracking{display:inline-flex;cursor:pointer;align-items:center;gap:0.25rem;border-width:0px;background-color:transparent;padding:0px;color:currentColor}.s-order-shipments-tracking svg{height:0.875rem;width:0.875rem;fill:currentColor}.s-order-shipments-placeholder{display:inline-flex;align-items:center;gap:0.25rem}.s-order-shipments-track{display:inline-flex;min-height:2.5rem;width:100%;cursor:pointer;align-items:center;justify-content:center;gap:0.5rem;border-radius:0.5rem;border-width:1px;border-color:var(--color-border,#eee);background-color:transparent;padding-left:1rem;padding-right:1rem;padding-top:0.5rem;padding-bottom:0.5rem;font-size:0.875rem;line-height:1.25rem;font-weight:700;color:var(--color-primary);text-decoration-line:none}.s-order-shipments-track svg{height:1rem;width:1rem;fill:currentColor}.s-order-shipments-track[aria-disabled=\'true\']{pointer-events:none;color:var(--color-text-secondary,#999)}.s-order-shipments-track-primary{min-height:3rem;border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-primary-reverse)}@media (min-width: 768px){.s-order-shipments-cta{order:-1}}.s-order-shipments-sheet{display:flex;flex-direction:column;gap:0.75rem}@media (min-width: 768px){.s-order-shipments-sheet{gap:1.5rem}}.s-order-shipments-sheet-item{display:flex;flex-direction:column;gap:0.75rem;border-radius:1rem;border-width:1px;border-color:var(--color-border-light,#f4f4f4);padding:0.75rem}.s-order-shipments-title{font-size:0.875rem;line-height:1.25rem;font-weight:700;color:var(--color-primary)}.s-order-shipments-thumbs{display:flex;gap:0.5rem;overflow-x:auto}.s-order-shipments-thumb{display:inline-flex;height:2.75rem;width:2.75rem;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden;border-radius:0.75rem;border-width:1px;border-color:var(--color-border-light,#f4f4f4)}.s-order-shipments-thumb img{display:block;height:100%;width:100%;object-fit:cover}.s-order-shipments-track-primary[aria-disabled=\'true\']{border-color:color-mix(in srgb,var(--color-primary) 60%,white);background-color:color-mix(in srgb,var(--color-primary) 60%,white);color:var(--color-primary-reverse)}.s-order-shipments-sheet-item .s-order-shipments-thumbs{margin-top:0.25rem}.s-order-shipments-sheet-item .s-order-shipments-carrier{border-top-width:1px;border-color:var(--color-border-light,#f4f4f4);padding-top:0.75rem}.s-order-shipments-sheet-item .s-order-shipments-logo{height:2.75rem;width:2.75rem;padding:0.125rem}.s-order-shipments-modal .s-modal-body{border-top-left-radius:1rem;border-top-right-radius:1rem}@media (min-width: 768px){.s-order-shipments-modal .s-modal-body{max-width:42rem;border-radius:1rem}}.s-order-shipments-modal .s-modal-padding{padding:1rem}@media (min-width: 768px){.s-order-shipments-modal .s-modal-padding{padding:2rem}}.s-order-shipments-modal .s-modal-header-inner{margin-bottom:0.75rem}@media (min-width: 768px){.s-order-shipments-modal .s-modal-header-inner{margin-bottom:1.5rem}}.s-order-shipments-modal .s-modal-header-content{text-align:start}@media (min-width: 768px){.s-order-shipments-modal .s-modal-header-content{text-align:start}}.s-order-shipments-modal .s-modal-title{margin-bottom:0px;font-size:1.125rem;line-height:1.75rem;color:var(--color-primary)}@media (min-width: 768px){.s-order-shipments-modal .s-modal-title{margin-bottom:0px}}.s-order-shipments-modal .s-modal-close{display:none}@media (min-width: 768px){.s-order-shipments-modal .s-modal-close{top:2rem;display:block;width:1.5rem;padding-left:0px;padding-right:0px}.s-order-shipments-modal .s-modal-close:where([dir="ltr"],[dir="ltr"] *){right:2rem}.s-order-shipments-modal .s-modal-close:where([dir="rtl"],[dir="rtl"] *){left:2rem}.s-order-shipments-modal .s-modal-close svg{width:1.5rem}}.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-carrier-text,.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-info{font-size:0.875rem;line-height:1.25rem}.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-track,.s-thank-you-page-wrapper .s-order-shipments-cta .s-order-shipments-track{font-size:1rem;line-height:1.5rem}.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-track svg,.s-thank-you-page-wrapper .s-order-shipments-cta .s-order-shipments-track svg,.s-thank-you-page-wrapper .s-order-shipments-list .s-order-shipments-tracking svg{height:1.25rem;width:1.25rem}.s-thank-you-page-wrapper .s-order-shipments-footer{gap:1rem}@media (min-width: 640px){.s-thank-you-page-wrapper .s-order-shipments-footer{gap:1.5rem}}.s-thank-you-page-wrapper .s-order-shipments-carrier-row{flex-wrap:wrap;column-gap:0.75rem;row-gap:0.5rem}.s-thank-you-page-wrapper .s-order-shipments-info{max-width:100%;word-break:break-all}.s-thank-you-page-wrapper .s-order-shipments-tracking{max-width:100%}';export{l as salla_order_shipments}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as e,h as r}from"./p-
|
|
4
|
+
import{r as e,h as r}from"./p-DvJClBwJ.js";function t(e){var r,a,s="";if("string"==typeof e||"number"==typeof e)s+=e;else if("object"==typeof e)if(Array.isArray(e))for(r=0;r<e.length;r++)e[r]&&(a=t(e[r]))&&(s&&(s+=" "),s+=a);else for(r in e)e[r]&&(s&&(s+=" "),s+=r);return s}const a=e=>"boolean"==typeof e?"".concat(e):0===e?"0":e,s=function(){for(var e,r,a=0,s="";a<arguments.length;)(e=arguments[a++])&&(r=t(e))&&(s&&(s+=" "),s+=r);return s},i=(o="s-badge-base",l={variants:{size:{xs:"s-badge-xs",sm:"s-badge-sm",md:"s-badge-md"},bg:{transparent:"s-badge-transparent",light:"s-badge-light","primary-100":"s-badge-primary-100"},color:{black:"s-badge-black","primary-900":"s-badge-color-primary-900"}}},e=>{var r;if(null==(null==l?void 0:l.variants))return s(o,null==e?void 0:e.class,null==e?void 0:e.className);const{variants:t,defaultVariants:i}=l,d=Object.keys(t).map((r=>{const s=null==e?void 0:e[r],o=null==i?void 0:i[r];if(null===s)return null;const l=a(s)||a(o);return t[r][l]})),n=e&&Object.entries(e).reduce(((e,r)=>{let[t,a]=r;return void 0===a||(e[t]=a),e}),{}),c=null==l||null===(r=l.compoundVariants)||void 0===r?void 0:r.reduce(((e,r)=>{let{class:t,className:a,...s}=r;return Object.entries(s).every((e=>{let[r,t]=e;return Array.isArray(t)?t.includes({...i,...n}[r]):{...i,...n}[r]===t}))?[...e,t,a]:e}),[]);return s(o,d,c,null==e?void 0:e.class,null==e?void 0:e.className)});var o,l;const d=class{constructor(r){e(this,r),this.size="sm",this.color="black",this.bg="light"}render(){return r("div",{key:"33b750b244b3137042815ddc48fc2cbfdcb534fb",class:i({size:this.size,bg:this.bg,color:this.color})},r("slot",{key:"dd22df754c28a5e41aeede9b6376cd0a79cbd9fb"}))}};d.style='/*!twlt*/.s-badge-base{display:flex;max-width:max-content;align-items:center}.s-badge-base>: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-badge-base{white-space:nowrap;border-radius:0.375rem;padding-left:0.5rem;padding-right:0.5rem;padding-top:0.25rem;padding-bottom:0.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-badge-base:where([dir="rtl"],[dir="rtl"] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.s-badge-xs{font-size:0.75rem;line-height:1rem}.s-badge-xs svg{height:0.75rem;width:0.75rem}.s-badge-sm{font-size:0.875rem;line-height:1.25rem}.s-badge-sm svg{height:1rem;width:1rem}.s-badge-md{font-size:1rem;line-height:1.5rem}.s-badge-md svg{height:1.25rem;width:1.25rem}.s-badge-transparent{background-color:transparent}.s-badge-light{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.s-badge-primary-100{background-color:color-mix(in srgb,var(--color-primary) 20%,white 80%)}.s-badge-color-black{--tw-text-opacity:1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.s-badge-color-primary-900{color:color-mix(in srgb,var(--color-primary) 45%,black 55%)}.s-badge-color-primary-900 svg{fill:currentColor}.s-badge-black{--tw-text-opacity:1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}';export{d as salla_badge}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as e,h as r,H as t}from"./p-ze9e0dxM.js";const a=250,o={customer:"أُلغي الطلب من قِبل العميل",merchant:"أُلغي الطلب من قِبل المتجر"},l=[["pages.orders.cancel_modal_title","إلغاء الطلب","Cancel order"],["pages.orders.cancel_reason_title","لماذا ترغب في إلغاء الطلب؟","Why do you want to cancel this order?"],["pages.orders.cancel_reason_subtitle","ساعدنا نعرف السبب لتحسين تجربتك.","Help us understand why to improve your experience."],["pages.orders.cancel_reason_confirm","تأكيد إلغاء الطلب","Confirm order cancellation"],["pages.orders.cancel_reason_back","تراجع","Go back"],["pages.orders.cancel_reason_note_placeholder","اذكر السبب","Mention the reason"],["pages.orders.cancelled_by_customer",o.customer,"Order cancelled by the customer"],["pages.orders.cancelled_by_merchant",o.merchant,"Order cancelled by the merchant"],["pages.orders.cancel_reason_char_limit","يتجاوز النص حد الأحرف المسموح","Text exceeds the allowed character limit"]],s=e=>{if(!e)return null;try{const r="string"==typeof e?JSON.parse(e):e;return r&&"object"==typeof r?r:null}catch{return null}},i=e=>e.filter((e=>!1!==e.is_active)).sort(((e,r)=>(e.sort??0)-(r.sort??0))),n=class{constructor(r){e(this,r),this.reasons=[],this.selectedReasonId=null,this.reasonNote="",this.confirmLoading=!1,this.loading=!0,this.modalTitleLabel="",this.questionLabel="",this.subtitleLabel="",this.confirmLabel="",this.backLabel="",this.notePlaceholder="",this.charLimitLabel="",salla.lang.onLoaded((()=>{const e=salla.lang.messages?.["ar.trans"],r=salla.lang.messages?.["en.trans"];if(e&&r&&salla.helpers?.setNested)for(const[t,a,o]of l)salla.helpers.setNested(e,t,a),salla.helpers.setNested(r,t,o);this.refreshLabels()}))}onCancellationReasonsChange(){this.load()}async componentWillLoad(){await salla.onReady(),this.refreshLabels(),await this.load()}refreshLabels(){const e=(e,r)=>salla.lang.getWithDefault(e,r);this.modalTitleLabel=e("pages.orders.cancel_modal_title","إلغاء الطلب"),this.questionLabel=e("pages.orders.cancel_reason_title","لماذا ترغب في إلغاء الطلب؟"),this.subtitleLabel=e("pages.orders.cancel_reason_subtitle","ساعدنا نعرف السبب لتحسين تجربتك."),this.confirmLabel=e("pages.orders.cancel_reason_confirm","تأكيد إلغاء الطلب"),this.backLabel=e("pages.orders.cancel_reason_back","تراجع"),this.notePlaceholder=e("pages.orders.cancel_reason_note_placeholder","اذكر السبب"),this.charLimitLabel=e("pages.orders.cancel_reason_char_limit","يتجاوز النص حد الأحرف المسموح")}get resolvedOrderId(){const e=this.orderId??this.pageOrder?.id??salla.config.get("page.id"),r=Number(e);return Number.isFinite(r)?r:e}readPageOrder(){const e=document.querySelector("salla-order-totals-card");return e?s(e.order??e.getAttribute("order")):null}waitForPageOrder(){const e=this.readPageOrder();return e?Promise.resolve(e):"undefined"==typeof MutationObserver?Promise.resolve().then((()=>this.readPageOrder())):new Promise((e=>{let r=!1;const t=()=>{r||(r=!0,o.disconnect(),clearTimeout(l),e(this.readPageOrder()))},a=document.querySelector("salla-order-totals-card"),o=new MutationObserver(t);o.observe(a??document.documentElement,a?{attributes:!0,attributeFilter:["order"]}:{childList:!0,subtree:!0,attributes:!0,attributeFilter:["order"]});const l=setTimeout(t,2500)}))}cancelledByLabel(e){return salla.lang.getWithDefault(`pages.orders.cancelled_by_${e}`,o[e])}mountCancelledHeader(e=0){const r=this.orderCancelledReason,t=r?.reasons[0];if(!t||document.querySelector("[data-salla-order-cancelled-reason]"))return;const a=document.querySelector("td.single-order-header-item:not(.flex)");if(!a)return void(e<20&&requestAnimationFrame((()=>this.mountCancelledHeader(e+1))));const o=document.createElement("td");o.className="s-order-cancel-cancelled-header-item",o.setAttribute("data-salla-order-cancelled-reason","");const l=document.createElement("div");l.className="s-order-cancel-cancelled-header-label",l.textContent=this.cancelledByLabel(r.cancelled_by);const s=document.createElement("b");s.className="s-order-cancel-cancelled-header-reason",s.textContent=t,s.title=t,o.append(l,s),a.insertAdjacentElement("afterend",o)}purgeLegacyModal(){if(this.reasons.length)for(const e of document.querySelectorAll("salla-modal#modal-order-cancel:not([data-salla-order-cancel])"))e.remove()}applyPageOrder(e){this.pageOrder=e,this.orderCancelledReason=(e=>{const r=s(e),t=Array.isArray(r?.reasons)?r.reasons.filter((e=>"string"==typeof e&&e.length>0)):[];return t.length?{cancelled_by:"merchant"===r?.cancelled_by?"merchant":"customer",reasons:t}:null})(e.order_cancelled_reason)??void 0}async load(){this.loading=!0;try{const e=(e=>{if(null==e||""===e)return null;const r="string"==typeof e?s(e):e;return Array.isArray(r)&&r.length?r:null})(this.cancellationReasons);if(!this.pageOrder){const e=this.readPageOrder();e&&this.applyPageOrder(e)}if(this.pageOrder||e)this.pageOrder||this.waitForPageOrder().then((e=>{e&&(this.applyPageOrder(e),this.mountCancelledHeader())}));else{const e=await this.waitForPageOrder();e&&this.applyPageOrder(e)}const r=this.pageOrder;this.reasons=e?i(e):r?i(Array.isArray(r.cancellation_reasons)?r.cancellation_reasons:[]):[]}finally{this.loading=!1,this.purgeLegacyModal(),this.mountCancelledHeader()}}reasonLabel(e){const r=salla.lang.getLocale?.()||"ar";return e.translations?.[r]?.name||e.name}get hasOtherSelected(){return null!==this.selectedReasonId&&this.reasons.some((e=>e.id===this.selectedReasonId&&"other"===e.slug))}get canConfirm(){if(null===this.selectedReasonId)return!1;if(!this.hasOtherSelected)return!0;const e=this.reasonNote.trim().length;return e>0&&e<=a}selectReason(e){if(this.selectedReasonId===e)return"other"===this.reasons.find((r=>r.id===e))?.slug&&(this.reasonNote=""),void(this.selectedReasonId=null);if("other"===this.reasons.find((e=>e.id===this.selectedReasonId))?.slug&&(this.reasonNote=""),this.selectedReasonId=e,this.reasons.length&&this.reasons[this.reasons.length-1].id===e){const r=setTimeout((()=>{requestAnimationFrame((()=>{document.getElementById(`s-order-cancel-reason-${e}`)?.scrollIntoView({block:"start",behavior:"smooth"});const t=document.querySelector(".s-order-cancel-textarea");t?.focus(),clearTimeout(r)}))}),200)}}resetForm(){this.selectedReasonId=null,this.reasonNote="",this.confirmLoading=!1}setReasonNote(e){this.reasonNote=e.target.value}onKeyActivate(e,r){"Enter"!==e.key&&" "!==e.key||r()}async confirmCancel(){if(this.canConfirm&&!this.confirmLoading){this.confirmLoading=!0;try{const e=this.hasOtherSelected?this.reasonNote.trim():"",r={reasons:[String(this.selectedReasonId)],...e&&{reason_note:e}};await salla.order.api.cancel(this.resolvedOrderId,r),window.location.reload()}catch{this.confirmLoading=!1}}}render(){return this.loading||!this.reasons.length?r(t,{class:"s-order-cancel-wrapper"}):r(t,{class:"s-order-cancel-wrapper"},r("salla-modal",{id:"modal-order-cancel",class:"s-order-cancel-modal","data-salla-order-cancel":"",ref:e=>{this.modal=e,e?.setTitle?.(this.modalTitleLabel)},width:"sm",onModalVisibilityChanged:e=>!e.detail&&this.resetForm()},r("div",{class:"s-order-cancel-content"},r("div",{class:"s-order-cancel-intro"},r("p",{class:"s-order-cancel-heading"},this.questionLabel),r("p",{class:"s-order-cancel-subtitle"},this.subtitleLabel)),r("div",{class:"s-order-cancel-reasons s-scrollbar"},this.reasons.map((e=>{const t=`s-order-cancel-reason-${e.id}`;return r("label",{key:e.id,class:"s-order-cancel-reason",htmlFor:t},r("input",{type:"radio",name:"cancellation_reason",id:t,class:"s-order-cancel-radio s-radio",checked:this.selectedReasonId===e.id,onChange:()=>this.selectReason(e.id)}),r("span",{class:"s-order-cancel-reason-label"},this.reasonLabel(e)))}))),this.hasOtherSelected&&r("div",{class:"s-order-cancel-other-field"},r("textarea",{class:"s-order-cancel-textarea",placeholder:this.notePlaceholder,value:this.reasonNote,onInput:e=>this.setReasonNote(e)}),r("p",{class:{"s-order-cancel-counter":!0,"s-order-cancel-counter--limit":this.reasonNote.length>=a}},this.reasonNote.length>=a&&`${this.charLimitLabel} `,a,"/",this.reasonNote.length)),r("div",{class:"s-order-cancel-actions"},r("salla-button",{color:"primary",class:"w-full",width:"wide",disabled:!this.canConfirm,loading:this.confirmLoading,onClick:()=>this.confirmCancel(),onKeyDown:e=>this.onKeyActivate(e,(()=>this.confirmCancel()))},this.confirmLabel),r("salla-button",{class:"w-full",width:"wide",fill:"outline",color:"gray",onClick:()=>this.modal?.close(),onKeyDown:e=>this.onKeyActivate(e,(()=>this.modal?.close()))},this.backLabel)))))}static get watchers(){return{cancellationReasons:["onCancellationReasonsChange"]}}};n.style='/*!twlt*/.s-order-cancel-reason .s-order-cancel-radio::before,.s-order-cancel-reason .s-radio::before{content:"";width:10px;height:10px;border-radius:50%;transform:scale(0);transition:120ms transform ease-in-out;background-color:#fff;box-shadow:inset 1em 1em #fff}.s-order-cancel-reason .s-order-cancel-radio:checked::before,.s-order-cancel-reason .s-radio:checked::before{transform:scale(1);background-color:var(--color-primary);box-shadow:inset 1em 1em var(--color-primary)}.block{display:block}.flex{display:flex}.table{display:table}.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-scrollbar::-webkit-scrollbar{width:5px}.s-scrollbar::-webkit-scrollbar-track{background-color:#eee}.s-scrollbar::-webkit-scrollbar-thumb{background-color:var(--color-primary);border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;-ms-border-radius:10px;-o-border-radius:10px}salla-modal.s-order-cancel-modal .s-modal-body{display:inline-flex;max-height:100svh;flex-direction:column;overflow:hidden;text-align:start}@media (min-width: 768px){salla-modal.s-order-cancel-modal .s-modal-body{max-height:92svh}}salla-modal.s-order-cancel-modal .s-modal-header{width:100%;flex-shrink:0;align-items:flex-start;text-align:start}salla-modal.s-order-cancel-modal .s-modal-header-inner{margin-bottom:1.25rem;display:block !important;width:100%;padding-inline-end:2.5rem;padding-inline-start:0px;text-align:start}@media (min-width: 768px){salla-modal.s-order-cancel-modal .s-modal-header-inner{padding:0px}}salla-modal.s-order-cancel-modal .s-modal-header-inner:where([dir="rtl"],[dir="rtl"] *){padding-inline-start:2.5rem;padding-inline-end:0px}salla-modal.s-order-cancel-modal .s-modal-header-content{width:100%;align-items:flex-start;text-align:start}salla-modal.s-order-cancel-modal .s-modal-title{margin-bottom:0px;width:100%;text-align:start;font-size:1.125rem;line-height:1.75rem;font-weight:700;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-order-cancel-cancelled-header-item{display:flex;width:100%;min-width:0px;align-items:center;justify-content:space-between;padding-left:0.75rem;padding-right:0.75rem;padding-top:0.5rem;padding-bottom:0.5rem;font-size:0.875rem;line-height:1.25rem}@media (min-width: 768px){.s-order-cancel-cancelled-header-item{display:table-cell;width:auto;max-width:14rem;padding-left:1.5rem;padding-right:1.5rem;padding-top:1rem;padding-bottom:1rem}}.s-order-cancel-cancelled-header-label{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-weight:400;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-order-cancel-cancelled-header-label:where([dir="ltr"],[dir="ltr"] *){margin-right:0.5rem}.s-order-cancel-cancelled-header-label:where([dir="rtl"],[dir="rtl"] *){margin-left:0.5rem}.s-order-cancel-cancelled-header-reason{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;display:block;overflow-wrap:break-word;font-weight:700}.s-order-cancel-wrapper{display:block}.s-order-cancel-content{display:flex;min-height:0px;width:100%;flex:1 1 0%;flex-direction:column;gap:1.5rem;overflow:hidden;text-align:start}.s-order-cancel-intro{display:flex;width:100%;flex-shrink:0;flex-direction:column;gap:0.5rem}.s-order-cancel-heading{font-size:1rem;font-weight:700;line-height:1.5rem;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-order-cancel-subtitle{font-size:0.875rem;line-height:1.25rem;font-weight:400;line-height:1.5;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-order-cancel-reasons{display:flex;min-height:0px;width:100%;flex:1 1 0%;flex-direction:column;gap:1rem;overflow-y:auto;padding-left:0.25rem;padding-right:0.25rem;padding-top:0.5rem;padding-bottom:0.5rem}.s-order-cancel-reason{display:flex;width:100%;cursor:pointer;align-items:center;gap:0.5rem;accent-color:var(--color-primary)}.s-order-cancel-reason-label{flex:1 1 0%;text-align:start;font-size:0.875rem;font-weight:500;line-height:1.25rem;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-order-cancel-radio{margin:0px;display:grid;height:1.25rem;width:1.25rem;min-width:1.25rem;flex-shrink:0;cursor:pointer;appearance:none;place-content:center;border-radius:9999px;border-width:1px;border-color:var(--color-primary);--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.s-order-cancel-radio:checked{border-color:var(--color-primary);--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.s-order-cancel-radio:focus-visible{border-color:var(--color-primary);outline-color:var(--color-primary)}.s-order-cancel-radio:focus-visible:checked{border-color:var(--color-primary);outline-color:var(--color-primary)}.s-order-cancel-other-field{display:flex;width:100%;flex-shrink:0;flex-direction:column;gap:0.25rem}.s-order-cancel-textarea{min-height:6rem;width:100%;resize:none;text-align:start}.has-error .s-order-cancel-textarea{border-color:#ff443a;color:#ff443a}.s-order-cancel-textarea{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-order-cancel-textarea: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-order-cancel-counter{text-align:end;font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-order-cancel-counter--limit{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-order-cancel-actions{display:flex;width:100%;flex-shrink:0;flex-direction:column;gap:1rem;padding-top:0px}';export{n as salla_order_cancel}
|
|
4
|
+
import{r as e,h as r,H as t}from"./p-DvJClBwJ.js";const a=250,o={customer:"أُلغي الطلب من قِبل العميل",merchant:"أُلغي الطلب من قِبل المتجر"},l=[["pages.orders.cancel_modal_title","إلغاء الطلب","Cancel order"],["pages.orders.cancel_reason_title","لماذا ترغب في إلغاء الطلب؟","Why do you want to cancel this order?"],["pages.orders.cancel_reason_subtitle","ساعدنا نعرف السبب لتحسين تجربتك.","Help us understand why to improve your experience."],["pages.orders.cancel_reason_confirm","تأكيد إلغاء الطلب","Confirm order cancellation"],["pages.orders.cancel_reason_back","تراجع","Go back"],["pages.orders.cancel_reason_note_placeholder","اذكر السبب","Mention the reason"],["pages.orders.cancelled_by_customer",o.customer,"Order cancelled by the customer"],["pages.orders.cancelled_by_merchant",o.merchant,"Order cancelled by the merchant"],["pages.orders.cancel_reason_char_limit","يتجاوز النص حد الأحرف المسموح","Text exceeds the allowed character limit"]],s=e=>{if(!e)return null;try{const r="string"==typeof e?JSON.parse(e):e;return r&&"object"==typeof r?r:null}catch{return null}},i=e=>e.filter((e=>!1!==e.is_active)).sort(((e,r)=>(e.sort??0)-(r.sort??0))),n=class{constructor(r){e(this,r),this.reasons=[],this.selectedReasonId=null,this.reasonNote="",this.confirmLoading=!1,this.loading=!0,this.modalTitleLabel="",this.questionLabel="",this.subtitleLabel="",this.confirmLabel="",this.backLabel="",this.notePlaceholder="",this.charLimitLabel="",salla.lang.onLoaded((()=>{const e=salla.lang.messages?.["ar.trans"],r=salla.lang.messages?.["en.trans"];if(e&&r&&salla.helpers?.setNested)for(const[t,a,o]of l)salla.helpers.setNested(e,t,a),salla.helpers.setNested(r,t,o);this.refreshLabels()}))}onCancellationReasonsChange(){this.load()}async componentWillLoad(){await salla.onReady(),this.refreshLabels(),await this.load()}refreshLabels(){const e=(e,r)=>salla.lang.getWithDefault(e,r);this.modalTitleLabel=e("pages.orders.cancel_modal_title","إلغاء الطلب"),this.questionLabel=e("pages.orders.cancel_reason_title","لماذا ترغب في إلغاء الطلب؟"),this.subtitleLabel=e("pages.orders.cancel_reason_subtitle","ساعدنا نعرف السبب لتحسين تجربتك."),this.confirmLabel=e("pages.orders.cancel_reason_confirm","تأكيد إلغاء الطلب"),this.backLabel=e("pages.orders.cancel_reason_back","تراجع"),this.notePlaceholder=e("pages.orders.cancel_reason_note_placeholder","اذكر السبب"),this.charLimitLabel=e("pages.orders.cancel_reason_char_limit","يتجاوز النص حد الأحرف المسموح")}get resolvedOrderId(){const e=this.orderId??this.pageOrder?.id??salla.config.get("page.id"),r=Number(e);return Number.isFinite(r)?r:e}readPageOrder(){const e=document.querySelector("salla-order-totals-card");return e?s(e.order??e.getAttribute("order")):null}waitForPageOrder(){const e=this.readPageOrder();return e?Promise.resolve(e):"undefined"==typeof MutationObserver?Promise.resolve().then((()=>this.readPageOrder())):new Promise((e=>{let r=!1;const t=()=>{r||(r=!0,o.disconnect(),clearTimeout(l),e(this.readPageOrder()))},a=document.querySelector("salla-order-totals-card"),o=new MutationObserver(t);o.observe(a??document.documentElement,a?{attributes:!0,attributeFilter:["order"]}:{childList:!0,subtree:!0,attributes:!0,attributeFilter:["order"]});const l=setTimeout(t,2500)}))}cancelledByLabel(e){return salla.lang.getWithDefault(`pages.orders.cancelled_by_${e}`,o[e])}mountCancelledHeader(e=0){const r=this.orderCancelledReason,t=r?.reasons[0];if(!t||document.querySelector("[data-salla-order-cancelled-reason]"))return;const a=document.querySelector("td.single-order-header-item:not(.flex)");if(!a)return void(e<20&&requestAnimationFrame((()=>this.mountCancelledHeader(e+1))));const o=document.createElement("td");o.className="s-order-cancel-cancelled-header-item",o.setAttribute("data-salla-order-cancelled-reason","");const l=document.createElement("div");l.className="s-order-cancel-cancelled-header-label",l.textContent=this.cancelledByLabel(r.cancelled_by);const s=document.createElement("b");s.className="s-order-cancel-cancelled-header-reason",s.textContent=t,s.title=t,o.append(l,s),a.insertAdjacentElement("afterend",o)}purgeLegacyModal(){if(this.reasons.length)for(const e of document.querySelectorAll("salla-modal#modal-order-cancel:not([data-salla-order-cancel])"))e.remove()}applyPageOrder(e){this.pageOrder=e,this.orderCancelledReason=(e=>{const r=s(e),t=Array.isArray(r?.reasons)?r.reasons.filter((e=>"string"==typeof e&&e.length>0)):[];return t.length?{cancelled_by:"merchant"===r?.cancelled_by?"merchant":"customer",reasons:t}:null})(e.order_cancelled_reason)??void 0}async load(){this.loading=!0;try{const e=(e=>{if(null==e||""===e)return null;const r="string"==typeof e?s(e):e;return Array.isArray(r)&&r.length?r:null})(this.cancellationReasons);if(!this.pageOrder){const e=this.readPageOrder();e&&this.applyPageOrder(e)}if(this.pageOrder||e)this.pageOrder||this.waitForPageOrder().then((e=>{e&&(this.applyPageOrder(e),this.mountCancelledHeader())}));else{const e=await this.waitForPageOrder();e&&this.applyPageOrder(e)}const r=this.pageOrder;this.reasons=e?i(e):r?i(Array.isArray(r.cancellation_reasons)?r.cancellation_reasons:[]):[]}finally{this.loading=!1,this.purgeLegacyModal(),this.mountCancelledHeader()}}reasonLabel(e){const r=salla.lang.getLocale?.()||"ar";return e.translations?.[r]?.name||e.name}get hasOtherSelected(){return null!==this.selectedReasonId&&this.reasons.some((e=>e.id===this.selectedReasonId&&"other"===e.slug))}get canConfirm(){if(null===this.selectedReasonId)return!1;if(!this.hasOtherSelected)return!0;const e=this.reasonNote.trim().length;return e>0&&e<=a}selectReason(e){if(this.selectedReasonId===e)return"other"===this.reasons.find((r=>r.id===e))?.slug&&(this.reasonNote=""),void(this.selectedReasonId=null);if("other"===this.reasons.find((e=>e.id===this.selectedReasonId))?.slug&&(this.reasonNote=""),this.selectedReasonId=e,this.reasons.length&&this.reasons[this.reasons.length-1].id===e){const r=setTimeout((()=>{requestAnimationFrame((()=>{document.getElementById(`s-order-cancel-reason-${e}`)?.scrollIntoView({block:"start",behavior:"smooth"});const t=document.querySelector(".s-order-cancel-textarea");t?.focus(),clearTimeout(r)}))}),200)}}resetForm(){this.selectedReasonId=null,this.reasonNote="",this.confirmLoading=!1}setReasonNote(e){this.reasonNote=e.target.value}onKeyActivate(e,r){"Enter"!==e.key&&" "!==e.key||r()}async confirmCancel(){if(this.canConfirm&&!this.confirmLoading){this.confirmLoading=!0;try{const e=this.hasOtherSelected?this.reasonNote.trim():"",r={reasons:[String(this.selectedReasonId)],...e&&{reason_note:e}};await salla.order.api.cancel(this.resolvedOrderId,r),window.location.reload()}catch{this.confirmLoading=!1}}}render(){return this.loading||!this.reasons.length?r(t,{class:"s-order-cancel-wrapper"}):r(t,{class:"s-order-cancel-wrapper"},r("salla-modal",{id:"modal-order-cancel",class:"s-order-cancel-modal","data-salla-order-cancel":"",ref:e=>{this.modal=e,e?.setTitle?.(this.modalTitleLabel)},width:"sm",onModalVisibilityChanged:e=>!e.detail&&this.resetForm()},r("div",{class:"s-order-cancel-content"},r("div",{class:"s-order-cancel-intro"},r("p",{class:"s-order-cancel-heading"},this.questionLabel),r("p",{class:"s-order-cancel-subtitle"},this.subtitleLabel)),r("div",{class:"s-order-cancel-reasons s-scrollbar"},this.reasons.map((e=>{const t=`s-order-cancel-reason-${e.id}`;return r("label",{key:e.id,class:"s-order-cancel-reason",htmlFor:t},r("input",{type:"radio",name:"cancellation_reason",id:t,class:"s-order-cancel-radio s-radio",checked:this.selectedReasonId===e.id,onChange:()=>this.selectReason(e.id)}),r("span",{class:"s-order-cancel-reason-label"},this.reasonLabel(e)))}))),this.hasOtherSelected&&r("div",{class:"s-order-cancel-other-field"},r("textarea",{class:"s-order-cancel-textarea",placeholder:this.notePlaceholder,value:this.reasonNote,onInput:e=>this.setReasonNote(e)}),r("p",{class:{"s-order-cancel-counter":!0,"s-order-cancel-counter--limit":this.reasonNote.length>=a}},this.reasonNote.length>=a&&`${this.charLimitLabel} `,a,"/",this.reasonNote.length)),r("div",{class:"s-order-cancel-actions"},r("salla-button",{color:"primary",class:"w-full",width:"wide",disabled:!this.canConfirm,loading:this.confirmLoading,onClick:()=>this.confirmCancel(),onKeyDown:e=>this.onKeyActivate(e,(()=>this.confirmCancel()))},this.confirmLabel),r("salla-button",{class:"w-full",width:"wide",fill:"outline",color:"gray",onClick:()=>this.modal?.close(),onKeyDown:e=>this.onKeyActivate(e,(()=>this.modal?.close()))},this.backLabel)))))}static get watchers(){return{cancellationReasons:["onCancellationReasonsChange"]}}};n.style='/*!twlt*/.s-order-cancel-reason .s-order-cancel-radio::before,.s-order-cancel-reason .s-radio::before{content:"";width:10px;height:10px;border-radius:50%;transform:scale(0);transition:120ms transform ease-in-out;background-color:#fff;box-shadow:inset 1em 1em #fff}.s-order-cancel-reason .s-order-cancel-radio:checked::before,.s-order-cancel-reason .s-radio:checked::before{transform:scale(1);background-color:var(--color-primary);box-shadow:inset 1em 1em var(--color-primary)}.block{display:block}.flex{display:flex}.table{display:table}.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-scrollbar::-webkit-scrollbar{width:5px}.s-scrollbar::-webkit-scrollbar-track{background-color:#eee}.s-scrollbar::-webkit-scrollbar-thumb{background-color:var(--color-primary);border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;-ms-border-radius:10px;-o-border-radius:10px}salla-modal.s-order-cancel-modal .s-modal-body{display:inline-flex;max-height:100svh;flex-direction:column;overflow:hidden;text-align:start}@media (min-width: 768px){salla-modal.s-order-cancel-modal .s-modal-body{max-height:92svh}}salla-modal.s-order-cancel-modal .s-modal-header{width:100%;flex-shrink:0;align-items:flex-start;text-align:start}salla-modal.s-order-cancel-modal .s-modal-header-inner{margin-bottom:1.25rem;display:block !important;width:100%;padding-inline-end:2.5rem;padding-inline-start:0px;text-align:start}@media (min-width: 768px){salla-modal.s-order-cancel-modal .s-modal-header-inner{padding:0px}}salla-modal.s-order-cancel-modal .s-modal-header-inner:where([dir="rtl"],[dir="rtl"] *){padding-inline-start:2.5rem;padding-inline-end:0px}salla-modal.s-order-cancel-modal .s-modal-header-content{width:100%;align-items:flex-start;text-align:start}salla-modal.s-order-cancel-modal .s-modal-title{margin-bottom:0px;width:100%;text-align:start;font-size:1.125rem;line-height:1.75rem;font-weight:700;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-order-cancel-cancelled-header-item{display:flex;width:100%;min-width:0px;align-items:center;justify-content:space-between;padding-left:0.75rem;padding-right:0.75rem;padding-top:0.5rem;padding-bottom:0.5rem;font-size:0.875rem;line-height:1.25rem}@media (min-width: 768px){.s-order-cancel-cancelled-header-item{display:table-cell;width:auto;max-width:14rem;padding-left:1.5rem;padding-right:1.5rem;padding-top:1rem;padding-bottom:1rem}}.s-order-cancel-cancelled-header-label{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-weight:400;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-order-cancel-cancelled-header-label:where([dir="ltr"],[dir="ltr"] *){margin-right:0.5rem}.s-order-cancel-cancelled-header-label:where([dir="rtl"],[dir="rtl"] *){margin-left:0.5rem}.s-order-cancel-cancelled-header-reason{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;display:block;overflow-wrap:break-word;font-weight:700}.s-order-cancel-wrapper{display:block}.s-order-cancel-content{display:flex;min-height:0px;width:100%;flex:1 1 0%;flex-direction:column;gap:1.5rem;overflow:hidden;text-align:start}.s-order-cancel-intro{display:flex;width:100%;flex-shrink:0;flex-direction:column;gap:0.5rem}.s-order-cancel-heading{font-size:1rem;font-weight:700;line-height:1.5rem;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-order-cancel-subtitle{font-size:0.875rem;line-height:1.25rem;font-weight:400;line-height:1.5;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-order-cancel-reasons{display:flex;min-height:0px;width:100%;flex:1 1 0%;flex-direction:column;gap:1rem;overflow-y:auto;padding-left:0.25rem;padding-right:0.25rem;padding-top:0.5rem;padding-bottom:0.5rem}.s-order-cancel-reason{display:flex;width:100%;cursor:pointer;align-items:center;gap:0.5rem;accent-color:var(--color-primary)}.s-order-cancel-reason-label{flex:1 1 0%;text-align:start;font-size:0.875rem;font-weight:500;line-height:1.25rem;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-order-cancel-radio{margin:0px;display:grid;height:1.25rem;width:1.25rem;min-width:1.25rem;flex-shrink:0;cursor:pointer;appearance:none;place-content:center;border-radius:9999px;border-width:1px;border-color:var(--color-primary);--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.s-order-cancel-radio:checked{border-color:var(--color-primary);--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.s-order-cancel-radio:focus-visible{border-color:var(--color-primary);outline-color:var(--color-primary)}.s-order-cancel-radio:focus-visible:checked{border-color:var(--color-primary);outline-color:var(--color-primary)}.s-order-cancel-other-field{display:flex;width:100%;flex-shrink:0;flex-direction:column;gap:0.25rem}.s-order-cancel-textarea{min-height:6rem;width:100%;resize:none;text-align:start}.has-error .s-order-cancel-textarea{border-color:#ff443a;color:#ff443a}.s-order-cancel-textarea{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-order-cancel-textarea: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-order-cancel-counter{text-align:end;font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-order-cancel-counter--limit{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-order-cancel-actions{display:flex;width:100%;flex-shrink:0;flex-direction:column;gap:1rem;padding-top:0px}';export{n as salla_order_cancel}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,h as r,H as a,a as e}from"./p-ze9e0dxM.js";import{S as o}from"./p-D4oPi1Ov.js";import{C as c}from"./p-gFG8By9O.js";const i=class{constructor(r){t(this,r),this.hideAddBtn=!1,this.showDonationAmount=!1,this.remained="",this.outOfStock="",this.donationAmount="",this.startingPrice="",this.addToCart="",this.placeholder="",this.COMPACT_TITLE_MAX_LENGTH=90}parseProductData(t){if(t)try{return"object"==typeof t?t:JSON.parse(t)}catch(t){return void salla.log("Bad json passed via product prop")}}handleProductChange(t){this.productData=this.parseProductData(t)}async componentWillLoad(){this.productData=this.parseProductData(this.product),await Promise.all([salla.onReady(),salla.lang.onLoaded()]),this.placeholder=salla.url.asset(salla.config.get("theme.settings.placeholder")),this.remained=salla.lang.get("pages.products.remained"),this.donationAmount=salla.lang.get("pages.products.donation_amount"),this.startingPrice=salla.lang.get("pages.products.starting_price"),this.addToCart=salla.lang.get("pages.cart.add_to_cart"),this.outOfStock=salla.lang.get("pages.products.out_of_stock")}getDisplayTitle(){const t=this.productData?.name||"";return t.length<=this.COMPACT_TITLE_MAX_LENGTH?t:t.slice(0,this.COMPACT_TITLE_MAX_LENGTH).trimEnd()+"…"}getProductBadge(){return!this.productData?.is_available&&this.productData?.quantity?r("div",{class:"s-search-product-card-quantity"},this.remained," ",salla.helpers.number(this.productData?.quantity)):this.productData.promotion_title?r("div",{class:"s-search-product-card-promotion-title"},this.productData.promotion_title):null}renderAddToCartLabel(){return r("slot",{name:"add-to-cart-label"},r("span",{class:"s-search-product-card-add-to-cart-icon",innerHTML:c}))}getPriceFormat(t){return t&&0!=t?salla.money(t):salla.config.get("store.settings.product.show_price_as_dash")?"-":""}getProductPrice(){return this.productData.is_on_sale?r("div",{class:"s-search-product-card-sale-price"},r("p",{class:"s-search-product-card-price-value",innerHTML:this.getPriceFormat(this.productData.sale_price)}),r("span",{innerHTML:this.getPriceFormat(this.productData?.regular_price)})):this.productData.starting_price?r("div",{class:"s-search-product-card-starting-price"},r("p",null,this.startingPrice),r("h4",{innerHTML:this.getPriceFormat(this.productData?.starting_price)})):r("p",{class:"s-search-product-card-price-value",innerHTML:this.getPriceFormat(this.productData?.price)})}render(){const t={"s-search-product-card-entry":!0,"s-search-product-card-horizontal":!0,"s-search-product-card-compact":!0,"s-search-product-card-donation":this.productData?.donation},e=this.productData?.url?{href:this.productData.url}:{};return r(a,{key:"6be103faead19fecfbc380ff4ee53f47f057dae0",id:`search-product-${this.productData?.id}`,class:t},this.productData?.url?r("a",{class:"s-search-product-card-overlay-link","aria-label":this.productData?.name,...e}):null,r("div",{key:"1b2200c07aead0031e1b7cf4f4a0d0dbdb165d15",class:"s-search-product-card-image"},r("img",{key:"dca2fd85d56f311845397893bb64f50c1202ed2c",class:`s-search-product-card-image-${salla.url.is_placeholder(this.productData?.image?.url)?"contain":"cover"} lazy`,src:this.placeholder,alt:this.productData?.image?.alt||this.productData?.name,"data-src":this.productData?.image?.url||this.productData?.thumbnail}),this.getProductBadge()),r("div",{key:"6b04b97c6ead3c399acd3597c62fcf197a2a3b0d",class:"s-search-product-card-content"},r("div",{key:"750a347824045b181736002aed50b586437065ed",class:"s-search-product-card-content-main"},r("h3",{key:"b0b85cd7d0314e6e5657d208ede0bdb2ab957d8a",class:"s-search-product-card-content-title"},this.getDisplayTitle()),this.productData?.subtitle?r("p",{class:"s-search-product-card-content-subtitle"},this.productData?.subtitle):null),this.showDonationAmount&&this.productData?.donation?[r("salla-progress-bar",{donation:this.productData?.donation}),r("div",{class:"s-search-product-card-donation-input"},this.productData?.donation?.can_donate?[r("label",{htmlFor:"donation-amount"},this.donationAmount," ",r("span",null,"*")),r("input",{type:"text",onInput:t=>{salla.helpers.inputDigitsOnly(t.target),this.addBtn&&(this.addBtn.donatingAmount=t.target.value)},id:"donation-amount",name:"donating_amount",class:"s-form-control",placeholder:this.donationAmount})]:null)]:null,r("div",{key:"f1507e9e9a42d099e46e12b214be70ed41bff404",class:"s-search-product-card-content-sub"},this.getProductPrice(),this.productData?.is_out_of_stock?r("span",{class:"s-search-product-card-out-of-stock-label"},this.outOfStock):null),this.productData?.rating?.stars?r("div",{class:"s-search-product-card-rating"},r("span",{innerHTML:o}),r("span",null,this.productData.rating.stars)):null),this.hideAddBtn?null:r("div",{class:"s-search-product-card-content-footer"},r("salla-add-product-button",{ref:t=>this.addBtn=t,"product-id":this.productData.id,"product-status":this.productData.status,"product-type":this.productData.type,class:"s-add-product-button-compact"},this.renderAddToCartLabel())))}componentDidLoad(){document.lazyLoadInstance?.update(this.host?.querySelectorAll(".lazy"))}get host(){return e(this)}static get watchers(){return{product:["handleProductChange"]}}};i.style='/*!twlt*/.s-search-product-card-image::before{font-family:"sallaicons";content:"\\ec1f" !important}.grid{display:grid}.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-search-product-card-entry{position:relative;display:flex;height:100%;justify-content:space-between;border-radius:var(--s-radius, 0.25rem);transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-search-product-card-out-of-stock img.loaded{--tw-grayscale:grayscale(100%);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-search-product-card-quantity{position:absolute;bottom:0.25rem;left:50%;z-index:1;max-width:calc(100% - 60px);--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));border-radius:var(--s-radius, 0.25rem);--tw-bg-opacity:1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1));padding-left:0.625rem;padding-right:0.625rem;padding-top:0.375rem;padding-bottom:0.375rem;font-size:0.75rem;line-height:1rem;font-weight:700;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}@media (min-width: 768px){.s-search-product-card-quantity{padding-top:0.5rem;padding-bottom:0.5rem}}.s-search-product-card-promotion-title{position:absolute;top:1rem;left:0px;z-index:1;max-width:calc(100% - 60px);border-top-right-radius:var(--s-radius, 0.25rem);border-bottom-right-radius:var(--s-radius, 0.25rem);--tw-bg-opacity:1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1));padding-left:0.625rem;padding-right:0.625rem;padding-top:0.375rem;padding-bottom:0.375rem;font-size:0.75rem;line-height:1rem;font-weight:700;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}@media (min-width: 768px){.s-search-product-card-promotion-title{padding-top:0.5rem;padding-bottom:0.5rem}}.s-search-product-card-promotion-title:where([dir="rtl"],[dir="rtl"] *){right:0px;left:unset;border-top-left-radius:var(--s-radius, 0.25rem);border-bottom-left-radius:var(--s-radius, 0.25rem);border-top-right-radius:0px;border-bottom-right-radius:0px}.s-search-product-card-image{position:relative;height:100%;width:100%;flex-shrink:0;overflow:hidden;--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.s-search-product-card-image::before{position:absolute;top:50%;left:50%;display:inline-block;--tw-translate-x:-50%;--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));font-size:1.875rem;line-height:2.25rem;content:var(--tw-content);--tw-text-opacity:1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.s-search-product-card-image:hover{opacity:0.9}.s-search-product-card-image img{height:100%;width:100%;transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:500ms}.s-search-product-card-image img.lazy{opacity:0}.s-search-product-card-image img.loaded{position:relative;opacity:1}.s-search-product-card-content{position:relative;display:flex;flex-direction:column;padding:0.75rem}@media (min-width: 640px){.s-search-product-card-content{padding:1.25rem}}.s-search-product-card-content-title{margin-bottom:0.625rem;display:block;max-width:100%;text-align:start;font-size:0.875rem;font-weight:700;line-height:1.5rem;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-search-product-card-content-title:hover{color:var(--color-primary)}.s-search-product-card-content-subtitle{margin-bottom:0.625rem;font-size:0.875rem;line-height:1.5rem;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-search-product-card-donation-input{position:relative;z-index:2;flex:1 1 0%}.s-search-product-card-donation-input label{margin-bottom:0.625rem;display:block;font-size:0.875rem;line-height:1.25rem}.s-search-product-card-donation-input label span{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-search-product-card-overlay-link{position:absolute;inset:0px;z-index:1}.s-search-product-card-content-sub{margin-bottom:1.25rem;display:flex;width:100%;align-items:center;justify-content:space-between}.s-search-product-card-out-of-stock-label{font-size:0.75rem;line-height:1rem;font-weight:700;--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-search-product-card-rating{margin-top:0.5rem;display:flex;align-items:center}.s-search-product-card-rating>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.25rem * var(--tw-space-x-reverse));margin-left:calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))}.s-search-product-card-rating{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-search-product-card-rating:where([dir="rtl"],[dir="rtl"] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.s-search-product-card-rating span svg{margin-bottom:3px;height:1rem;width:1rem;fill:#fbbf24}.s-search-product-card-content-footer{margin-top:auto;display:flex;align-items:center}.s-search-product-card-sale-price>: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-search-product-card-sale-price:where([dir="rtl"],[dir="rtl"] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.s-search-product-card-sale-price span{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));text-decoration-line:line-through}.s-search-product-card-starting-price{display:flex;align-items:center;justify-content:space-between}.s-search-product-card-starting-price h4{display:inline-block;font-size:0.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.s-search-product-card-price-value{display:inline-block;font-size:0.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-search-product-card-image-cover{object-fit:cover}.s-search-product-card-image-contain{object-fit:contain}.s-search-product-card-add-to-cart-icon svg{height:1rem;width:1rem;fill:currentColor}.s-search-product-card-horizontal .s-search-product-card-image{height:auto;width:8rem}@media (min-width: 640px){.s-search-product-card-horizontal .s-search-product-card-image{width:14rem}}.s-search-product-card-horizontal .s-search-product-card-image:where([dir="ltr"],[dir="ltr"] *){border-top-left-radius:var(--s-radius, 0.25rem);border-bottom-left-radius:var(--s-radius, 0.25rem)}.s-search-product-card-horizontal .s-search-product-card-image:where([dir="rtl"],[dir="rtl"] *){border-top-right-radius:var(--s-radius, 0.25rem);border-bottom-right-radius:var(--s-radius, 0.25rem)}.s-search-product-card-horizontal .s-search-product-card-quantity{max-width:unset}.s-search-product-card-horizontal .s-search-product-card-content-title{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.s-search-product-card-horizontal .s-search-product-card-promotion-title{max-width:unset}.s-search-product-card-horizontal .s-search-product-card-content{margin-bottom:0.625rem;width:100%}.s-search-product-card-compact{display:flex;cursor:pointer;flex-direction:row;align-items:center;gap:0.75rem;padding-top:0.75rem;padding-bottom:0.75rem;padding-left:0px;padding-right:0px;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:200ms}.s-search-product-card-compact .s-search-product-card-content-footer{position:relative;z-index:2;margin-top:0px;flex-shrink:0;gap:0.5rem}.s-search-product-card-compact .s-add-product-button-compact salla-button .s-button-btn{height:2rem;border-radius:0.375rem;border-width:1px;border-color:var(--color-primary);background-color:transparent;padding-left:0.75rem;padding-right:0.75rem;font-size:0.75rem;line-height:1rem;font-weight:500;color:var(--color-primary);transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:200ms}.s-search-product-card-compact .s-add-product-button-compact salla-button .s-button-btn:hover{border-color:var(--color-primary);background-color:var(--color-primary);--tw-bg-opacity:0.1;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.s-search-product-card-compact .s-search-product-card-content{min-width:0px;flex:1 1 0%;padding:0px;text-align:right}.s-search-product-card-compact .s-search-product-card-content-title{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-size:0.875rem;line-height:1.25rem;font-weight:500;line-height:1.25;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-search-product-card-compact .s-search-product-card-content-subtitle{margin-top:0.25rem;display:none;font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-search-product-card-compact .s-search-product-card-content-sub{margin-bottom:0px;display:flex;align-items:center;justify-content:flex-start;gap:0.5rem;font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-search-product-card-compact .s-search-product-card-content-sub h4{margin:0px}.s-search-product-card-compact .s-search-product-card-starting-price h4{font-weight:700}.s-search-product-card-compact .s-search-product-card-starting-price{justify-content:flex-start;gap:0.25rem}.s-search-product-card-compact .s-search-product-card-image{height:5rem;width:5rem;flex-shrink:0;border-radius:0.375rem}.s-search-product-card-compact .s-search-product-card-image img{height:100%;width:100%;border-radius:0.375rem;object-fit:cover}.s-search-product-card-compact .s-search-product-card-promotion-title{display:none}';export{i as salla_search_product_card}
|
|
4
|
+
import{r as t,h as r,H as a,a as e}from"./p-DvJClBwJ.js";import{S as o}from"./p-D4oPi1Ov.js";import{C as c}from"./p-gFG8By9O.js";const i=class{constructor(r){t(this,r),this.hideAddBtn=!1,this.showDonationAmount=!1,this.remained="",this.outOfStock="",this.donationAmount="",this.startingPrice="",this.addToCart="",this.placeholder="",this.COMPACT_TITLE_MAX_LENGTH=90}parseProductData(t){if(t)try{return"object"==typeof t?t:JSON.parse(t)}catch(t){return void salla.log("Bad json passed via product prop")}}handleProductChange(t){this.productData=this.parseProductData(t)}async componentWillLoad(){this.productData=this.parseProductData(this.product),await Promise.all([salla.onReady(),salla.lang.onLoaded()]),this.placeholder=salla.url.asset(salla.config.get("theme.settings.placeholder")),this.remained=salla.lang.get("pages.products.remained"),this.donationAmount=salla.lang.get("pages.products.donation_amount"),this.startingPrice=salla.lang.get("pages.products.starting_price"),this.addToCart=salla.lang.get("pages.cart.add_to_cart"),this.outOfStock=salla.lang.get("pages.products.out_of_stock")}getDisplayTitle(){const t=this.productData?.name||"";return t.length<=this.COMPACT_TITLE_MAX_LENGTH?t:t.slice(0,this.COMPACT_TITLE_MAX_LENGTH).trimEnd()+"…"}getProductBadge(){return!this.productData?.is_available&&this.productData?.quantity?r("div",{class:"s-search-product-card-quantity"},this.remained," ",salla.helpers.number(this.productData?.quantity)):this.productData.promotion_title?r("div",{class:"s-search-product-card-promotion-title"},this.productData.promotion_title):null}renderAddToCartLabel(){return r("slot",{name:"add-to-cart-label"},r("span",{class:"s-search-product-card-add-to-cart-icon",innerHTML:c}))}getPriceFormat(t){return t&&0!=t?salla.money(t):salla.config.get("store.settings.product.show_price_as_dash")?"-":""}getProductPrice(){return this.productData.is_on_sale?r("div",{class:"s-search-product-card-sale-price"},r("p",{class:"s-search-product-card-price-value",innerHTML:this.getPriceFormat(this.productData.sale_price)}),r("span",{innerHTML:this.getPriceFormat(this.productData?.regular_price)})):this.productData.starting_price?r("div",{class:"s-search-product-card-starting-price"},r("p",null,this.startingPrice),r("h4",{innerHTML:this.getPriceFormat(this.productData?.starting_price)})):r("p",{class:"s-search-product-card-price-value",innerHTML:this.getPriceFormat(this.productData?.price)})}render(){const t={"s-search-product-card-entry":!0,"s-search-product-card-horizontal":!0,"s-search-product-card-compact":!0,"s-search-product-card-donation":this.productData?.donation},e=this.productData?.url?{href:this.productData.url}:{};return r(a,{key:"6be103faead19fecfbc380ff4ee53f47f057dae0",id:`search-product-${this.productData?.id}`,class:t},this.productData?.url?r("a",{class:"s-search-product-card-overlay-link","aria-label":this.productData?.name,...e}):null,r("div",{key:"1b2200c07aead0031e1b7cf4f4a0d0dbdb165d15",class:"s-search-product-card-image"},r("img",{key:"dca2fd85d56f311845397893bb64f50c1202ed2c",class:`s-search-product-card-image-${salla.url.is_placeholder(this.productData?.image?.url)?"contain":"cover"} lazy`,src:this.placeholder,alt:this.productData?.image?.alt||this.productData?.name,"data-src":this.productData?.image?.url||this.productData?.thumbnail}),this.getProductBadge()),r("div",{key:"6b04b97c6ead3c399acd3597c62fcf197a2a3b0d",class:"s-search-product-card-content"},r("div",{key:"750a347824045b181736002aed50b586437065ed",class:"s-search-product-card-content-main"},r("h3",{key:"b0b85cd7d0314e6e5657d208ede0bdb2ab957d8a",class:"s-search-product-card-content-title"},this.getDisplayTitle()),this.productData?.subtitle?r("p",{class:"s-search-product-card-content-subtitle"},this.productData?.subtitle):null),this.showDonationAmount&&this.productData?.donation?[r("salla-progress-bar",{donation:this.productData?.donation}),r("div",{class:"s-search-product-card-donation-input"},this.productData?.donation?.can_donate?[r("label",{htmlFor:"donation-amount"},this.donationAmount," ",r("span",null,"*")),r("input",{type:"text",onInput:t=>{salla.helpers.inputDigitsOnly(t.target),this.addBtn&&(this.addBtn.donatingAmount=t.target.value)},id:"donation-amount",name:"donating_amount",class:"s-form-control",placeholder:this.donationAmount})]:null)]:null,r("div",{key:"f1507e9e9a42d099e46e12b214be70ed41bff404",class:"s-search-product-card-content-sub"},this.getProductPrice(),this.productData?.is_out_of_stock?r("span",{class:"s-search-product-card-out-of-stock-label"},this.outOfStock):null),this.productData?.rating?.stars?r("div",{class:"s-search-product-card-rating"},r("span",{innerHTML:o}),r("span",null,this.productData.rating.stars)):null),this.hideAddBtn?null:r("div",{class:"s-search-product-card-content-footer"},r("salla-add-product-button",{ref:t=>this.addBtn=t,"product-id":this.productData.id,"product-status":this.productData.status,"product-type":this.productData.type,class:"s-add-product-button-compact"},this.renderAddToCartLabel())))}componentDidLoad(){document.lazyLoadInstance?.update(this.host?.querySelectorAll(".lazy"))}get host(){return e(this)}static get watchers(){return{product:["handleProductChange"]}}};i.style='/*!twlt*/.s-search-product-card-image::before{font-family:"sallaicons";content:"\\ec1f" !important}.grid{display:grid}.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-search-product-card-entry{position:relative;display:flex;height:100%;justify-content:space-between;border-radius:var(--s-radius, 0.25rem);transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms}.s-search-product-card-out-of-stock img.loaded{--tw-grayscale:grayscale(100%);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-search-product-card-quantity{position:absolute;bottom:0.25rem;left:50%;z-index:1;max-width:calc(100% - 60px);--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));border-radius:var(--s-radius, 0.25rem);--tw-bg-opacity:1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1));padding-left:0.625rem;padding-right:0.625rem;padding-top:0.375rem;padding-bottom:0.375rem;font-size:0.75rem;line-height:1rem;font-weight:700;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}@media (min-width: 768px){.s-search-product-card-quantity{padding-top:0.5rem;padding-bottom:0.5rem}}.s-search-product-card-promotion-title{position:absolute;top:1rem;left:0px;z-index:1;max-width:calc(100% - 60px);border-top-right-radius:var(--s-radius, 0.25rem);border-bottom-right-radius:var(--s-radius, 0.25rem);--tw-bg-opacity:1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1));padding-left:0.625rem;padding-right:0.625rem;padding-top:0.375rem;padding-bottom:0.375rem;font-size:0.75rem;line-height:1rem;font-weight:700;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}@media (min-width: 768px){.s-search-product-card-promotion-title{padding-top:0.5rem;padding-bottom:0.5rem}}.s-search-product-card-promotion-title:where([dir="rtl"],[dir="rtl"] *){right:0px;left:unset;border-top-left-radius:var(--s-radius, 0.25rem);border-bottom-left-radius:var(--s-radius, 0.25rem);border-top-right-radius:0px;border-bottom-right-radius:0px}.s-search-product-card-image{position:relative;height:100%;width:100%;flex-shrink:0;overflow:hidden;--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.s-search-product-card-image::before{position:absolute;top:50%;left:50%;display:inline-block;--tw-translate-x:-50%;--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));font-size:1.875rem;line-height:2.25rem;content:var(--tw-content);--tw-text-opacity:1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.s-search-product-card-image:hover{opacity:0.9}.s-search-product-card-image img{height:100%;width:100%;transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:500ms}.s-search-product-card-image img.lazy{opacity:0}.s-search-product-card-image img.loaded{position:relative;opacity:1}.s-search-product-card-content{position:relative;display:flex;flex-direction:column;padding:0.75rem}@media (min-width: 640px){.s-search-product-card-content{padding:1.25rem}}.s-search-product-card-content-title{margin-bottom:0.625rem;display:block;max-width:100%;text-align:start;font-size:0.875rem;font-weight:700;line-height:1.5rem;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-search-product-card-content-title:hover{color:var(--color-primary)}.s-search-product-card-content-subtitle{margin-bottom:0.625rem;font-size:0.875rem;line-height:1.5rem;--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.s-search-product-card-donation-input{position:relative;z-index:2;flex:1 1 0%}.s-search-product-card-donation-input label{margin-bottom:0.625rem;display:block;font-size:0.875rem;line-height:1.25rem}.s-search-product-card-donation-input label span{--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-search-product-card-overlay-link{position:absolute;inset:0px;z-index:1}.s-search-product-card-content-sub{margin-bottom:1.25rem;display:flex;width:100%;align-items:center;justify-content:space-between}.s-search-product-card-out-of-stock-label{font-size:0.75rem;line-height:1rem;font-weight:700;--tw-text-opacity:1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.s-search-product-card-rating{margin-top:0.5rem;display:flex;align-items:center}.s-search-product-card-rating>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.25rem * var(--tw-space-x-reverse));margin-left:calc(0.25rem * calc(1 - var(--tw-space-x-reverse)))}.s-search-product-card-rating{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.s-search-product-card-rating:where([dir="rtl"],[dir="rtl"] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.s-search-product-card-rating span svg{margin-bottom:3px;height:1rem;width:1rem;fill:#fbbf24}.s-search-product-card-content-footer{margin-top:auto;display:flex;align-items:center}.s-search-product-card-sale-price>: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-search-product-card-sale-price:where([dir="rtl"],[dir="rtl"] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.s-search-product-card-sale-price span{font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));text-decoration-line:line-through}.s-search-product-card-starting-price{display:flex;align-items:center;justify-content:space-between}.s-search-product-card-starting-price h4{display:inline-block;font-size:0.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.s-search-product-card-price-value{display:inline-block;font-size:0.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.s-search-product-card-image-cover{object-fit:cover}.s-search-product-card-image-contain{object-fit:contain}.s-search-product-card-add-to-cart-icon svg{height:1rem;width:1rem;fill:currentColor}.s-search-product-card-horizontal .s-search-product-card-image{height:auto;width:8rem}@media (min-width: 640px){.s-search-product-card-horizontal .s-search-product-card-image{width:14rem}}.s-search-product-card-horizontal .s-search-product-card-image:where([dir="ltr"],[dir="ltr"] *){border-top-left-radius:var(--s-radius, 0.25rem);border-bottom-left-radius:var(--s-radius, 0.25rem)}.s-search-product-card-horizontal .s-search-product-card-image:where([dir="rtl"],[dir="rtl"] *){border-top-right-radius:var(--s-radius, 0.25rem);border-bottom-right-radius:var(--s-radius, 0.25rem)}.s-search-product-card-horizontal .s-search-product-card-quantity{max-width:unset}.s-search-product-card-horizontal .s-search-product-card-content-title{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.s-search-product-card-horizontal .s-search-product-card-promotion-title{max-width:unset}.s-search-product-card-horizontal .s-search-product-card-content{margin-bottom:0.625rem;width:100%}.s-search-product-card-compact{display:flex;cursor:pointer;flex-direction:row;align-items:center;gap:0.75rem;padding-top:0.75rem;padding-bottom:0.75rem;padding-left:0px;padding-right:0px;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:200ms}.s-search-product-card-compact .s-search-product-card-content-footer{position:relative;z-index:2;margin-top:0px;flex-shrink:0;gap:0.5rem}.s-search-product-card-compact .s-add-product-button-compact salla-button .s-button-btn{height:2rem;border-radius:0.375rem;border-width:1px;border-color:var(--color-primary);background-color:transparent;padding-left:0.75rem;padding-right:0.75rem;font-size:0.75rem;line-height:1rem;font-weight:500;color:var(--color-primary);transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:200ms}.s-search-product-card-compact .s-add-product-button-compact salla-button .s-button-btn:hover{border-color:var(--color-primary);background-color:var(--color-primary);--tw-bg-opacity:0.1;--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.s-search-product-card-compact .s-search-product-card-content{min-width:0px;flex:1 1 0%;padding:0px;text-align:right}.s-search-product-card-compact .s-search-product-card-content-title{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-size:0.875rem;line-height:1.25rem;font-weight:500;line-height:1.25;--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.s-search-product-card-compact .s-search-product-card-content-subtitle{margin-top:0.25rem;display:none;font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-search-product-card-compact .s-search-product-card-content-sub{margin-bottom:0px;display:flex;align-items:center;justify-content:flex-start;gap:0.5rem;font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.s-search-product-card-compact .s-search-product-card-content-sub h4{margin:0px}.s-search-product-card-compact .s-search-product-card-starting-price h4{font-weight:700}.s-search-product-card-compact .s-search-product-card-starting-price{justify-content:flex-start;gap:0.25rem}.s-search-product-card-compact .s-search-product-card-image{height:5rem;width:5rem;flex-shrink:0;border-radius:0.375rem}.s-search-product-card-compact .s-search-product-card-image img{height:100%;width:100%;border-radius:0.375rem;object-fit:cover}.s-search-product-card-compact .s-search-product-card-promotion-title{display:none}';export{i as salla_search_product_card}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,h as s,H as i,a as e}from"./p-ze9e0dxM.js";const a=class{constructor(s){t(this,s),this.menuOpen=!1,this.hasProducts=!1,this.specificMode=!1,this.selectedIds=[],this.loadedProductCount=0,this.isSharing=!1,this.shareUrl="",this.isListSyncPaused=!1,this.translationDefaults={"pages.wishlist.share":{ar:"شارك",en:"Share"},"pages.wishlist.share_all":{ar:"مشاركة القائمة",en:"Share the list"},"pages.wishlist.share_specific":{ar:"مشاركة منتجات محددة",en:"Share specific items"},"pages.wishlist.share_list_title":{ar:"مشاركة قائمة الأمنيات",en:"Share wishlist"},"pages.wishlist.select_all":{ar:"تحديد الكل",en:"Select all"},"common.elements.cancel":{ar:"إلغاء",en:"Cancel"}},this.onSelectionChanged=t=>{this.selectedIds=t?.ids||[],this.shareUrl="",this.socialShare?.close(),this.syncLoadedProductCount()},this.onDocumentClick=t=>{this.menuOpen&&!this.host.contains(t.target)&&(this.menuOpen=!1)},this.onProductsFetched=t=>{"wishlist"===t?.source&&(this.isListSyncPaused=!1,this.syncHasProducts(!!t?.data?.length),this.syncLoadedProductCount())}}async componentWillLoad(){await Salla.onReady(),await Salla.lang.onLoaded(),this.registerTranslationDefaults(),this.loadTranslations(),Salla.event.on("salla-products-list::selection.changed",this.onSelectionChanged),Salla.event.on("salla-products-list::products.fetched",this.onProductsFetched),document.addEventListener("click",this.onDocumentClick)}componentDidLoad(){this.initPageTitleAlignment(),this.productsList=this.host.parentElement?.querySelector("salla-products-list"),this.productsList?(this.syncHasProducts(),this.productsObserver=new MutationObserver((()=>{this.syncHasProducts()})),this.productsObserver.observe(this.productsList,{childList:!0,subtree:!0})):Salla.logger?.warn?.("[salla-wishlist-actions] no sibling salla-products-list found")}disconnectedCallback(){Salla.event.off("salla-products-list::selection.changed",this.onSelectionChanged),Salla.event.off("salla-products-list::products.fetched",this.onProductsFetched),document.removeEventListener("click",this.onDocumentClick),this.productsObserver?.disconnect(),this.pageTitleObserver?.disconnect(),this.pageTitleRetryTimeout&&window.clearTimeout(this.pageTitleRetryTimeout),this.resetPageTitleAlignment()}initPageTitleAlignment(){if(this.syncPageTitleAlignment(),this.pageTitle)return;requestAnimationFrame((()=>this.syncPageTitleAlignment())),this.pageTitleRetryTimeout=window.setTimeout((()=>this.syncPageTitleAlignment()),300);const t=this.host.closest(".main-content")??this.host.parentElement;t&&!this.pageTitle&&(this.pageTitleObserver=new MutationObserver((()=>{this.pageTitle?this.pageTitleObserver?.disconnect():(this.syncPageTitleAlignment(),this.pageTitle&&this.pageTitleObserver?.disconnect())})),this.pageTitleObserver.observe(t,{childList:!0,subtree:!0}))}findPageTitle(){const t=this.host.parentElement;if(t)for(const s of Array.from(t.children)){if(s===this.host)break;if("H1"===s.tagName)return s;const t=s.querySelector("h1");if(t)return t}const s=this.host.closest(".main-content");if(s){const t=s.querySelector("h1");if(t&&!this.host.contains(t))return t}return document.querySelector(".main-content h1, main h1")}syncPageTitleAlignment(){if(this.pageTitle)return;const t=this.findPageTitle();t&&(this.pageTitle=t,t.classList.add(a.pageTitleClass))}resetPageTitleAlignment(){this.pageTitle?.classList.remove(a.pageTitleClass),this.pageTitle=void 0}registerTranslationDefaults(){const t=Object.entries(this.translationDefaults).reduce(((t,[s,i])=>(Salla.lang.get(s)===s&&(t[s]=i),t)),{});Object.keys(t).length&&Salla.lang.addBulk(t)}loadTranslations(){this.shareLabel=Salla.lang.get("pages.wishlist.share"),this.shareAllLabel=Salla.lang.get("pages.wishlist.share_all"),this.shareSpecificLabel=Salla.lang.get("pages.wishlist.share_specific"),this.selectAllLabel=Salla.lang.get("pages.wishlist.select_all"),this.cancelLabel=Salla.lang.get("common.elements.cancel"),this.shareModalTitle=Salla.lang.get("pages.wishlist.share_list_title")}get selectedCount(){return this.selectedIds.length}get isAllSelected(){return this.loadedProductCount>0&&this.selectedCount===this.loadedProductCount}get isPartiallySelected(){return this.selectedCount>0&&this.selectedCount<this.loadedProductCount}async syncLoadedProductCount(){if(!this.productsList)return void(this.loadedProductCount=0);if(this.isListSyncPaused&&this.specificMode)return;const t=await this.productsList.getLoadedProducts();this.loadedProductCount=t.length}syncSelectAllCheckboxState(){this.selectAllCheckbox&&(this.selectAllCheckbox.checked=this.isAllSelected,this.selectAllCheckbox.indeterminate=this.isPartiallySelected)}componentDidRender(){this.syncSelectAllCheckboxState()}pauseListSync(){this.isListSyncPaused=!0,window.setTimeout((()=>{this.isListSyncPaused&&(this.isListSyncPaused=!1,this.syncHasProducts())}),3e3)}async syncHasProducts(t){if(!this.isListSyncPaused||"boolean"==typeof t){if("boolean"==typeof t)this.hasProducts=t;else if(this.productsList){const t=await this.productsList.getLoadedProducts();if(0===t.length&&this.specificMode)return;this.hasProducts=t.length>0,this.loadedProductCount=t.length}else this.hasProducts=!1,this.loadedProductCount=0;this.hasProducts||(this.menuOpen=!1,this.specificMode&&await this.cancelSpecific())}}toggleMenu(){this.hasProducts&&(this.menuOpen=!this.menuOpen)}async toggleSelectAll(){this.productsList&&(this.isAllSelected?await this.productsList.clearSelection():await this.productsList.selectAll())}async shareSpecific(){this.menuOpen=!1,this.specificMode=!0,this.pauseListSync(),this.productsList&&(this.productsList.selectable=!0)}async cancelSpecific(){this.specificMode=!1,this.selectedIds=[],this.pauseListSync(),this.productsList&&(await this.productsList.clearSelection(),this.productsList.selectable=!1)}async shareAll(){this.menuOpen=!1,await this.processShare([],!0)}async shareSelected(){this.selectedCount&&await this.processShare(this.selectedIds,!1)}async processShare(t,s=!1){if((s||t?.length)&&!this.isSharing){this.isSharing=!0;try{const i=await salla.wishlist.share(t,s),e=i?.data?.url||i?.url||"";if(!e||!this.socialShare)return;this.shareUrl=e,this.socialShare.url=e,await this.socialShare.refresh(),await this.socialShare.open()}catch(t){Salla.logger?.warn?.("[salla-wishlist-actions] share failed",t)}finally{this.isSharing=!1}}}render(){return s(i,{key:"ed2bb2b4e6db13b5dc2a8ceb47d0abb4b91da7ea"},s("div",{key:"9a368503611af6ccce78d35b76ec17bd3ddd296b",class:"s-wishlist-actions"},s("div",{key:"a9dc9b280bd46673892d6c72ffc535eb443beb0f",class:"s-wishlist-actions-bar flex items-center justify-end gap-3 mb-3"},s("div",{key:"90d6ea21a46becdeffca1a9b722a3a20eb3ed341",class:"s-wishlist-actions-dropdown relative"},s("salla-button",{key:"9edc9eeea5282fc61d48fce5b29ed095793265cf",color:"primary",fill:"outline",type:"button",disabled:!this.hasProducts,"aria-haspopup":"true","aria-expanded":this.menuOpen?"true":"false",onClick:()=>this.toggleMenu()},s("div",{key:"a5a30a3676d304614ec2e8b14172694d00f2e28c",class:"flex flex-row justify-center items-center gap-2"},s("svg",{key:"6842723fa0aa1f12fba6b91ddc6095a1e8da20af",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 32 32",style:{width:"16px",height:"16px"}},s("path",{key:"c7aa82770d3ce0a04240ee4ab44b8a4f0cf2d8b3",d:"M26.667 21.333c-1.699 0-3.196 0.812-4.173 2.052l-11.912-5.211c0.044-0.276 0.085-0.553 0.085-0.841 0-0.472-0.081-0.923-0.197-1.359l12.361-6.952c0.971 1.009 2.328 1.644 3.836 1.644 2.941 0 5.333-2.392 5.333-5.333s-2.392-5.333-5.333-5.333-5.333 2.392-5.333 5.333c0 0.472 0.081 0.923 0.197 1.359l-12.361 6.952c-0.971-1.009-2.328-1.644-3.836-1.644-2.941 0-5.333 2.392-5.333 5.333s2.392 5.333 5.333 5.333c1.699 0 3.196-0.812 4.173-2.052l11.912 5.211c-0.044 0.276-0.085 0.553-0.085 0.841 0 2.941 2.392 5.333 5.333 5.333s5.333-2.392 5.333-5.333-2.392-5.333-5.333-5.333zM26.667 2.667c1.471 0 2.667 1.196 2.667 2.667s-1.196 2.667-2.667 2.667-2.667-1.196-2.667-2.667 1.196-2.667 2.667-2.667zM5.333 20c-1.471 0-2.667-1.196-2.667-2.667s1.196-2.667 2.667-2.667 2.667 1.196 2.667 2.667-1.196 2.667-2.667 2.667zM26.667 29.333c-1.471 0-2.667-1.196-2.667-2.667s1.196-2.667 2.667-2.667 2.667 1.196 2.667 2.667-1.196 2.667-2.667 2.667z"})),this.shareLabel,s("svg",{key:"08c44a8306ba2b183aa0549fac2da24c64f3b285",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 32 32",style:{width:"16px",height:"16px"}},s("path",{key:"216163cc1b84ceb0b9035c23ef002b80c69ab9bf",d:"M26.212 10.996c-0.556-0.484-1.396-0.428-1.881 0.127l-8.331 9.519-8.331-9.52c-0.485-0.555-1.327-0.611-1.881-0.125s-0.609 1.328-0.124 1.881l9.333 10.667c0.253 0.291 0.617 0.456 1.003 0.456s0.749-0.165 1.003-0.456l9.333-10.667c0.485-0.553 0.429-1.396-0.124-1.881z"})))),this.menuOpen&&s("ul",{key:"57f73a8af50dc9280efde259d639bf3d41434fed",class:"s-wishlist-actions-menu absolute z-20 mt-1 bg-white rounded-lg shadow overflow-hidden"},s("li",{key:"d3b5fc449eef1b2af914dcae0dea0b67af599b84"},s("button",{key:"e3689eb4db62ff5ee42122819faa28500c555479",type:"button",class:"s-wishlist-actions-menu-item",onClick:()=>this.shareAll()},this.shareAllLabel)),s("li",{key:"ad40221d90b2ca52ad9544e8d19324ef8af812c4"},s("button",{key:"9fde093db8640855d4871972b02e3282e9aed6ad",type:"button",class:"s-wishlist-actions-menu-item",onClick:()=>this.shareSpecific()},this.shareSpecificLabel)))),s("salla-social-share",{key:"91287b112e76c9039170ebe54fcbfe7bfcb2dfb1",class:"s-wishlist-actions-social",ref:t=>this.socialShare=t,url:this.shareUrl,mode:"modal",modalTitle:this.shareModalTitle},s("span",{key:"e97a4249a046a17d65f214e5c2ecbca2ff21358c",slot:"widget",class:"s-wishlist-actions-social-anchor","aria-hidden":"true"}))),this.specificMode&&s("div",{key:"50ba30cc24e590986b6031a373f9334e3d8c97a7",class:"s-wishlist-actions-panel flex items-center justify-between gap-4 flex-wrap p-4 mt-3 mb-3 bg-white rounded-lg"},s("label",{key:"5dbb40eed9828355189d6242131dd07343d19603",class:"s-wishlist-actions-panel-select-all flex items-center gap-2 cursor-pointer"},s("input",{key:"5bb2571ed6e9d074739fe130d3b3b3bbe77a2393",type:"checkbox",class:"s-products-list-select-checkbox s-wishlist-actions-select-all",checked:this.isAllSelected,ref:t=>this.selectAllCheckbox=t,"aria-label":this.selectAllLabel,onChange:()=>this.toggleSelectAll()}),s("span",{key:"60853767d68f23affc964822e41f19fb93b2f380",class:"s-wishlist-actions-panel-title text-sm font-bold text-gray-700"},this.shareSpecificLabel," (",this.selectedCount,")")),s("div",{key:"5d4cab056b372ff6c2d9de0dfa32e1f1870b536a",class:"s-wishlist-actions-panel-buttons flex items-center gap-2"},s("salla-button",{key:"2ef6d0388714b348ce2e039662c704d0ea9c3afa",class:"s-wishlist-actions-cancel",color:"light",fill:"outline",type:"button",onClick:()=>this.cancelSpecific()},this.cancelLabel),s("salla-button",{key:"0077c263a4eea12fc0b2b1316d4195916d771417",class:"s-wishlist-actions-share",color:"primary",fill:"outline",type:"button",disabled:!this.selectedCount,loading:this.isSharing,onClick:()=>this.shareSelected()},this.shareLabel)))))}get host(){return e(this)}};a.pageTitleClass="s-wishlist-actions-page-title",a.style='/*!twlt*/:host{display:block}.s-wishlist-actions-menu{min-width:200px;inset-inline-end:0;inset-inline-start:auto;list-style:none;margin:0;padding:4px 0;box-shadow:0 4px 16px rgba(0, 0, 0, 0.12)}.s-wishlist-actions-menu-item{display:block;width:100%;padding:10px 16px;text-align:start;font-size:0.875rem;color:#374151;background:transparent;cursor:pointer;white-space:nowrap}.s-wishlist-actions-menu-item:hover{background-color:#f3f4f6;color:var(--color-primary)}.s-wishlist-actions-panel{box-shadow:0 1px 3px rgba(0, 0, 0, 0.08)}.s-wishlist-actions-panel-select-all{user-select:none}.s-wishlist-actions-select-all:indeterminate,.s-wishlist-actions-select-all:indeterminate:hover,.s-wishlist-actions-select-all:indeterminate:focus{background-color:var(--color-primary);border-color:var(--color-primary)}.s-wishlist-actions-select-all:indeterminate::after{content:"";position:absolute;top:50%;left:50%;width:10px;height:2px;background:#fff;border:none;transform:translate(-50%, -50%)}.s-wishlist-actions-social-anchor{display:none}h1.s-wishlist-actions-page-title{text-align:start !important}.static{position:static}.absolute{position:absolute}.relative{position:relative}.z-20{z-index:20}.mb-3{margin-bottom:0.75rem}.mt-1{margin-top:0.25rem}.mt-3{margin-top:0.75rem}.flex{display:flex}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:0.5rem}.gap-3{gap:0.75rem}.gap-4{gap:1rem}.overflow-hidden{overflow:hidden}.rounded-lg{border-radius:0.5rem}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-4{padding:1rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.font-bold{font-weight:700}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.outline{outline-style:solid}';export{a as salla_wishlist_actions}
|
|
4
|
+
import{r as t,h as s,H as i,a as e}from"./p-DvJClBwJ.js";const a=class{constructor(s){t(this,s),this.menuOpen=!1,this.hasProducts=!1,this.specificMode=!1,this.selectedIds=[],this.loadedProductCount=0,this.isSharing=!1,this.shareUrl="",this.isListSyncPaused=!1,this.translationDefaults={"pages.wishlist.share":{ar:"شارك",en:"Share"},"pages.wishlist.share_all":{ar:"مشاركة القائمة",en:"Share the list"},"pages.wishlist.share_specific":{ar:"مشاركة منتجات محددة",en:"Share specific items"},"pages.wishlist.share_list_title":{ar:"مشاركة قائمة الأمنيات",en:"Share wishlist"},"pages.wishlist.select_all":{ar:"تحديد الكل",en:"Select all"},"common.elements.cancel":{ar:"إلغاء",en:"Cancel"}},this.onSelectionChanged=t=>{this.selectedIds=t?.ids||[],this.shareUrl="",this.socialShare?.close(),this.syncLoadedProductCount()},this.onDocumentClick=t=>{this.menuOpen&&!this.host.contains(t.target)&&(this.menuOpen=!1)},this.onProductsFetched=t=>{"wishlist"===t?.source&&(this.isListSyncPaused=!1,this.syncHasProducts(!!t?.data?.length),this.syncLoadedProductCount())}}async componentWillLoad(){await Salla.onReady(),await Salla.lang.onLoaded(),this.registerTranslationDefaults(),this.loadTranslations(),Salla.event.on("salla-products-list::selection.changed",this.onSelectionChanged),Salla.event.on("salla-products-list::products.fetched",this.onProductsFetched),document.addEventListener("click",this.onDocumentClick)}componentDidLoad(){this.initPageTitleAlignment(),this.productsList=this.host.parentElement?.querySelector("salla-products-list"),this.productsList?(this.syncHasProducts(),this.productsObserver=new MutationObserver((()=>{this.syncHasProducts()})),this.productsObserver.observe(this.productsList,{childList:!0,subtree:!0})):Salla.logger?.warn?.("[salla-wishlist-actions] no sibling salla-products-list found")}disconnectedCallback(){Salla.event.off("salla-products-list::selection.changed",this.onSelectionChanged),Salla.event.off("salla-products-list::products.fetched",this.onProductsFetched),document.removeEventListener("click",this.onDocumentClick),this.productsObserver?.disconnect(),this.pageTitleObserver?.disconnect(),this.pageTitleRetryTimeout&&window.clearTimeout(this.pageTitleRetryTimeout),this.resetPageTitleAlignment()}initPageTitleAlignment(){if(this.syncPageTitleAlignment(),this.pageTitle)return;requestAnimationFrame((()=>this.syncPageTitleAlignment())),this.pageTitleRetryTimeout=window.setTimeout((()=>this.syncPageTitleAlignment()),300);const t=this.host.closest(".main-content")??this.host.parentElement;t&&!this.pageTitle&&(this.pageTitleObserver=new MutationObserver((()=>{this.pageTitle?this.pageTitleObserver?.disconnect():(this.syncPageTitleAlignment(),this.pageTitle&&this.pageTitleObserver?.disconnect())})),this.pageTitleObserver.observe(t,{childList:!0,subtree:!0}))}findPageTitle(){const t=this.host.parentElement;if(t)for(const s of Array.from(t.children)){if(s===this.host)break;if("H1"===s.tagName)return s;const t=s.querySelector("h1");if(t)return t}const s=this.host.closest(".main-content");if(s){const t=s.querySelector("h1");if(t&&!this.host.contains(t))return t}return document.querySelector(".main-content h1, main h1")}syncPageTitleAlignment(){if(this.pageTitle)return;const t=this.findPageTitle();t&&(this.pageTitle=t,t.classList.add(a.pageTitleClass))}resetPageTitleAlignment(){this.pageTitle?.classList.remove(a.pageTitleClass),this.pageTitle=void 0}registerTranslationDefaults(){const t=Object.entries(this.translationDefaults).reduce(((t,[s,i])=>(Salla.lang.get(s)===s&&(t[s]=i),t)),{});Object.keys(t).length&&Salla.lang.addBulk(t)}loadTranslations(){this.shareLabel=Salla.lang.get("pages.wishlist.share"),this.shareAllLabel=Salla.lang.get("pages.wishlist.share_all"),this.shareSpecificLabel=Salla.lang.get("pages.wishlist.share_specific"),this.selectAllLabel=Salla.lang.get("pages.wishlist.select_all"),this.cancelLabel=Salla.lang.get("common.elements.cancel"),this.shareModalTitle=Salla.lang.get("pages.wishlist.share_list_title")}get selectedCount(){return this.selectedIds.length}get isAllSelected(){return this.loadedProductCount>0&&this.selectedCount===this.loadedProductCount}get isPartiallySelected(){return this.selectedCount>0&&this.selectedCount<this.loadedProductCount}async syncLoadedProductCount(){if(!this.productsList)return void(this.loadedProductCount=0);if(this.isListSyncPaused&&this.specificMode)return;const t=await this.productsList.getLoadedProducts();this.loadedProductCount=t.length}syncSelectAllCheckboxState(){this.selectAllCheckbox&&(this.selectAllCheckbox.checked=this.isAllSelected,this.selectAllCheckbox.indeterminate=this.isPartiallySelected)}componentDidRender(){this.syncSelectAllCheckboxState()}pauseListSync(){this.isListSyncPaused=!0,window.setTimeout((()=>{this.isListSyncPaused&&(this.isListSyncPaused=!1,this.syncHasProducts())}),3e3)}async syncHasProducts(t){if(!this.isListSyncPaused||"boolean"==typeof t){if("boolean"==typeof t)this.hasProducts=t;else if(this.productsList){const t=await this.productsList.getLoadedProducts();if(0===t.length&&this.specificMode)return;this.hasProducts=t.length>0,this.loadedProductCount=t.length}else this.hasProducts=!1,this.loadedProductCount=0;this.hasProducts||(this.menuOpen=!1,this.specificMode&&await this.cancelSpecific())}}toggleMenu(){this.hasProducts&&(this.menuOpen=!this.menuOpen)}async toggleSelectAll(){this.productsList&&(this.isAllSelected?await this.productsList.clearSelection():await this.productsList.selectAll())}async shareSpecific(){this.menuOpen=!1,this.specificMode=!0,this.pauseListSync(),this.productsList&&(this.productsList.selectable=!0)}async cancelSpecific(){this.specificMode=!1,this.selectedIds=[],this.pauseListSync(),this.productsList&&(await this.productsList.clearSelection(),this.productsList.selectable=!1)}async shareAll(){this.menuOpen=!1,await this.processShare([],!0)}async shareSelected(){this.selectedCount&&await this.processShare(this.selectedIds,!1)}async processShare(t,s=!1){if((s||t?.length)&&!this.isSharing){this.isSharing=!0;try{const i=await salla.wishlist.share(t,s),e=i?.data?.url||i?.url||"";if(!e||!this.socialShare)return;this.shareUrl=e,this.socialShare.url=e,await this.socialShare.refresh(),await this.socialShare.open()}catch(t){Salla.logger?.warn?.("[salla-wishlist-actions] share failed",t)}finally{this.isSharing=!1}}}render(){return s(i,{key:"ed2bb2b4e6db13b5dc2a8ceb47d0abb4b91da7ea"},s("div",{key:"9a368503611af6ccce78d35b76ec17bd3ddd296b",class:"s-wishlist-actions"},s("div",{key:"a9dc9b280bd46673892d6c72ffc535eb443beb0f",class:"s-wishlist-actions-bar flex items-center justify-end gap-3 mb-3"},s("div",{key:"90d6ea21a46becdeffca1a9b722a3a20eb3ed341",class:"s-wishlist-actions-dropdown relative"},s("salla-button",{key:"9edc9eeea5282fc61d48fce5b29ed095793265cf",color:"primary",fill:"outline",type:"button",disabled:!this.hasProducts,"aria-haspopup":"true","aria-expanded":this.menuOpen?"true":"false",onClick:()=>this.toggleMenu()},s("div",{key:"a5a30a3676d304614ec2e8b14172694d00f2e28c",class:"flex flex-row justify-center items-center gap-2"},s("svg",{key:"6842723fa0aa1f12fba6b91ddc6095a1e8da20af",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 32 32",style:{width:"16px",height:"16px"}},s("path",{key:"c7aa82770d3ce0a04240ee4ab44b8a4f0cf2d8b3",d:"M26.667 21.333c-1.699 0-3.196 0.812-4.173 2.052l-11.912-5.211c0.044-0.276 0.085-0.553 0.085-0.841 0-0.472-0.081-0.923-0.197-1.359l12.361-6.952c0.971 1.009 2.328 1.644 3.836 1.644 2.941 0 5.333-2.392 5.333-5.333s-2.392-5.333-5.333-5.333-5.333 2.392-5.333 5.333c0 0.472 0.081 0.923 0.197 1.359l-12.361 6.952c-0.971-1.009-2.328-1.644-3.836-1.644-2.941 0-5.333 2.392-5.333 5.333s2.392 5.333 5.333 5.333c1.699 0 3.196-0.812 4.173-2.052l11.912 5.211c-0.044 0.276-0.085 0.553-0.085 0.841 0 2.941 2.392 5.333 5.333 5.333s5.333-2.392 5.333-5.333-2.392-5.333-5.333-5.333zM26.667 2.667c1.471 0 2.667 1.196 2.667 2.667s-1.196 2.667-2.667 2.667-2.667-1.196-2.667-2.667 1.196-2.667 2.667-2.667zM5.333 20c-1.471 0-2.667-1.196-2.667-2.667s1.196-2.667 2.667-2.667 2.667 1.196 2.667 2.667-1.196 2.667-2.667 2.667zM26.667 29.333c-1.471 0-2.667-1.196-2.667-2.667s1.196-2.667 2.667-2.667 2.667 1.196 2.667 2.667-1.196 2.667-2.667 2.667z"})),this.shareLabel,s("svg",{key:"08c44a8306ba2b183aa0549fac2da24c64f3b285",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 32 32",style:{width:"16px",height:"16px"}},s("path",{key:"216163cc1b84ceb0b9035c23ef002b80c69ab9bf",d:"M26.212 10.996c-0.556-0.484-1.396-0.428-1.881 0.127l-8.331 9.519-8.331-9.52c-0.485-0.555-1.327-0.611-1.881-0.125s-0.609 1.328-0.124 1.881l9.333 10.667c0.253 0.291 0.617 0.456 1.003 0.456s0.749-0.165 1.003-0.456l9.333-10.667c0.485-0.553 0.429-1.396-0.124-1.881z"})))),this.menuOpen&&s("ul",{key:"57f73a8af50dc9280efde259d639bf3d41434fed",class:"s-wishlist-actions-menu absolute z-20 mt-1 bg-white rounded-lg shadow overflow-hidden"},s("li",{key:"d3b5fc449eef1b2af914dcae0dea0b67af599b84"},s("button",{key:"e3689eb4db62ff5ee42122819faa28500c555479",type:"button",class:"s-wishlist-actions-menu-item",onClick:()=>this.shareAll()},this.shareAllLabel)),s("li",{key:"ad40221d90b2ca52ad9544e8d19324ef8af812c4"},s("button",{key:"9fde093db8640855d4871972b02e3282e9aed6ad",type:"button",class:"s-wishlist-actions-menu-item",onClick:()=>this.shareSpecific()},this.shareSpecificLabel)))),s("salla-social-share",{key:"91287b112e76c9039170ebe54fcbfe7bfcb2dfb1",class:"s-wishlist-actions-social",ref:t=>this.socialShare=t,url:this.shareUrl,mode:"modal",modalTitle:this.shareModalTitle},s("span",{key:"e97a4249a046a17d65f214e5c2ecbca2ff21358c",slot:"widget",class:"s-wishlist-actions-social-anchor","aria-hidden":"true"}))),this.specificMode&&s("div",{key:"50ba30cc24e590986b6031a373f9334e3d8c97a7",class:"s-wishlist-actions-panel flex items-center justify-between gap-4 flex-wrap p-4 mt-3 mb-3 bg-white rounded-lg"},s("label",{key:"5dbb40eed9828355189d6242131dd07343d19603",class:"s-wishlist-actions-panel-select-all flex items-center gap-2 cursor-pointer"},s("input",{key:"5bb2571ed6e9d074739fe130d3b3b3bbe77a2393",type:"checkbox",class:"s-products-list-select-checkbox s-wishlist-actions-select-all",checked:this.isAllSelected,ref:t=>this.selectAllCheckbox=t,"aria-label":this.selectAllLabel,onChange:()=>this.toggleSelectAll()}),s("span",{key:"60853767d68f23affc964822e41f19fb93b2f380",class:"s-wishlist-actions-panel-title text-sm font-bold text-gray-700"},this.shareSpecificLabel," (",this.selectedCount,")")),s("div",{key:"5d4cab056b372ff6c2d9de0dfa32e1f1870b536a",class:"s-wishlist-actions-panel-buttons flex items-center gap-2"},s("salla-button",{key:"2ef6d0388714b348ce2e039662c704d0ea9c3afa",class:"s-wishlist-actions-cancel",color:"light",fill:"outline",type:"button",onClick:()=>this.cancelSpecific()},this.cancelLabel),s("salla-button",{key:"0077c263a4eea12fc0b2b1316d4195916d771417",class:"s-wishlist-actions-share",color:"primary",fill:"outline",type:"button",disabled:!this.selectedCount,loading:this.isSharing,onClick:()=>this.shareSelected()},this.shareLabel)))))}get host(){return e(this)}};a.pageTitleClass="s-wishlist-actions-page-title",a.style='/*!twlt*/:host{display:block}.s-wishlist-actions-menu{min-width:200px;inset-inline-end:0;inset-inline-start:auto;list-style:none;margin:0;padding:4px 0;box-shadow:0 4px 16px rgba(0, 0, 0, 0.12)}.s-wishlist-actions-menu-item{display:block;width:100%;padding:10px 16px;text-align:start;font-size:0.875rem;color:#374151;background:transparent;cursor:pointer;white-space:nowrap}.s-wishlist-actions-menu-item:hover{background-color:#f3f4f6;color:var(--color-primary)}.s-wishlist-actions-panel{box-shadow:0 1px 3px rgba(0, 0, 0, 0.08)}.s-wishlist-actions-panel-select-all{user-select:none}.s-wishlist-actions-select-all:indeterminate,.s-wishlist-actions-select-all:indeterminate:hover,.s-wishlist-actions-select-all:indeterminate:focus{background-color:var(--color-primary);border-color:var(--color-primary)}.s-wishlist-actions-select-all:indeterminate::after{content:"";position:absolute;top:50%;left:50%;width:10px;height:2px;background:#fff;border:none;transform:translate(-50%, -50%)}.s-wishlist-actions-social-anchor{display:none}h1.s-wishlist-actions-page-title{text-align:start !important}.static{position:static}.absolute{position:absolute}.relative{position:relative}.z-20{z-index:20}.mb-3{margin-bottom:0.75rem}.mt-1{margin-top:0.25rem}.mt-3{margin-top:0.75rem}.flex{display:flex}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:0.5rem}.gap-3{gap:0.75rem}.gap-4{gap:1rem}.overflow-hidden{overflow:hidden}.rounded-lg{border-radius:0.5rem}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-4{padding:1rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.font-bold{font-weight:700}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.outline{outline-style:solid}';export{a as salla_wishlist_actions}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Crafted with ❤ by Salla
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,h as e,H as s,a as l,F as n}from"./p-ze9e0dxM.js";const i=class{constructor(e){t(this,e),this.sections=[],this.itemNumber=""}deleteItem(t,e){const s=this.host.closest("form");if(s){const l=s.getAttribute("id");if(l&&"string"==typeof l){const s=l.match(/item-(\d+)/)?.[1];this.itemNumber=s||"";const n=this.host.querySelector(`#accordion-${e.id}`);salla.cart.deleteItem(`${this.itemNumber}?product_id=${e.id}§ion_id=${t}`).then((()=>n?.remove()))}}}renderRemoveButton(t,s,l=!1){return e("salla-button",{type:"button",shape:l?"btn":"icon",fill:l?"outline":"solid",size:"small",color:"danger","aria-label":"Remove from the cart",onClick:()=>this.deleteItem(t,s)},l?salla.lang.get("common.elements.delete"):e("i",{class:"sicon-cancel"}))}renderAccordionHeader(t,s){const l=s?.options&&s?.options?.length>0;return e("div",{slot:"html",class:"s-multiple-bundle-product-cart-header-wrapper"},e("div",{class:"s-multiple-bundle-product-cart-header "+(l?"":"s-multiple-bundle-product-cart-header-no-options")},e("div",{class:"s-multiple-bundle-product-cart-header-content"},e("a",{href:s?.url,class:"s-multiple-bundle-product-cart-header-image-wrapper"},e("img",{src:s?.image?.url,alt:s?.image?.alt||s?.name,class:"s-multiple-bundle-product-cart-header-image"})),e("div",{class:"s-multiple-bundle-product-cart-header-content-details"},e("h2",{class:"s-multiple-bundle-product-cart-header-content-details-title"},e("a",{href:s?.url,class:"s-multiple-bundle-product-cart-header-content-details-title-link"},s?.name)),e("div",{class:"s-multiple-bundle-product-cart-header-content-details-price"},e("span",{class:"s-multiple-bundle-product-cart-header-content-details-price-regular"},e("span",{innerHTML:s?.price?salla.money(s?.price):""})),s?.sale_price>0&&e("span",{class:"s-multiple-bundle-product-cart-header-content-details-price-sale"},e("span",{innerHTML:salla.money(s?.sale_price)}))),s?.quantity_in_group>0&&0!==s?.quantity&&e("p",{class:"s-multiple-bundle-product-cart-header-content-details-quantity"},e("span",null,salla.lang.get("pages.products.number_of_pieces")),e("span",null,s?.quantity_in_group)))),!l&&e("div",{class:"s-multiple-bundle-product-cart-header-remove-button"},this.renderRemoveButton(t,s,!1))))}render(){return e(s,{key:"db441f645dc207f5864d3f4b89e67bb09ae2e622",class:"s-multiple-bundle-product-wrapper"},e("div",{key:"68bdd0512162e73bce90d1077d0d6d7f9f8da29b",class:"s-multiple-bundle-product-wrapper-sections"},this.sections.map(((t,s)=>t.products.map((l=>{const n={sectionId:t.id,sectionIndex:s,productId:l.id};return e("salla-accordion",{key:l.id,collapsed:!1,bordered:!0,collapsible:!!(l.options&&l.options.length>0),size:"sm",id:`accordion-${l.id}`},e("salla-accordion-head",null,this.renderAccordionHeader(String(t.id),l)),l.options&&l.options.length>0&&e("salla-accordion-body",null,e("salla-product-options",{options:JSON.stringify(l.options),key:`${l.id}-persistent`,"product-id":l.id,"bundle-context":JSON.stringify(n)}),e("div",{class:"s-multiple-bundle-product-cart-body-remove-button"},this.renderRemoveButton(String(t.id),l,!0))))}))))))}get host(){return l(this)}};i.style="";const o=class{constructor(e){t(this,e),this.sections=[],this.selectedProducts={},this.productSelectedHandler=null,this.onSelectProduct=(t,e)=>{const s=e.id,l=this.selectedProducts[t]?.has(s)??!1,n=this.sections.find((e=>e.id==t));if(!(l&&n&&this.isProductSelectionLocked(n))){if(!l){if(!n)return;if(1!==this.getEffectiveMax(n)&&this.isAtSelectionLimit(n))return}this.selectedProducts={...this.selectedProducts,[t]:new Set(this.selectedProducts[t]||[])},l?(this.selectedProducts[t].delete(s),this.clearProductFormData(s,t),this.clearProductModalOptions(s,t)):1===this.getEffectiveMax(n)?this.syncSectionSelection(t,s):this.selectedProducts[t].add(s),this.selectedProducts={...this.selectedProducts},salla.event.dispatch("on-bundle-product-selected",{id:e.id,name:e.name,options:e.options,wasSelected:l,isSelected:!l})}},this.ensureProductSelected=(t,e)=>{this.selectedProducts={...this.selectedProducts,[t]:new Set(this.selectedProducts[t]||[])};const s=e.id;if(this.selectedProducts[t].has(s))return;const l=this.sections.find((e=>e.id==t));if(!l)return;const n=this.getEffectiveMax(l);if(1===n)this.syncSectionSelection(t,s);else{if(n>1&&this.isAtSelectionLimit(l))return;this.selectedProducts[t].add(s)}this.selectedProducts={...this.selectedProducts},salla.event.dispatch("on-bundle-product-selected",{id:e.id,name:e.name,options:e.options})},this.onSelectProductOptions=(t,e)=>{const s=this.sections.find((t=>t.id==e));if(!s||!this.canSelectProductInSection(s,t.id))return;const l=this.sections.findIndex((t=>t.id==e)),n=s.products?.findIndex((e=>e.id==t.id))??0,i=this.selectedProducts[e]?.has(t.id)??!1;salla.event.dispatch("multiple-bundle-product-modal::open",{product:t,sectionId:e,sectionIndex:l,productIndex:n,isProductAlreadySelected:i})},this.handleBundleSliderProductSelected=t=>{const{product:e,sectionId:s}=t.detail;this.onSelectProduct(s,e)},this.handleBundleSliderProductOptionsSelected=t=>{const{product:e,sectionId:s}=t.detail;this.onSelectProductOptions(e,s)}}isSingleProductSection(t){return 1===(t.products?.length??0)}getObligatoryMin(t){const e=t.obligatory_products;if(null==e)return 0;const s=Number(e);return Number.isNaN(s)?0:s}isProductSelectionLocked(t){return this.isSingleProductSection(t)&&1===this.getObligatoryMin(t)}getEffectiveMax(t){const e=t.products?.length??0,s=t.max_obligatory_products;return null!=s&&s>0?Math.min(s,e):e}getSelectedCount(t){return this.selectedProducts[t]?.size??0}isAtSelectionLimit(t){return this.getSelectedCount(t.id)>=this.getEffectiveMax(t)}canSelectProductInSection(t,e){return!!this.selectedProducts[t.id]?.has(e)||1===this.getEffectiveMax(t)||!this.isAtSelectionLimit(t)}async canSelectBundleProduct(t,e){const s=this.sections.find((e=>e.id==t));return!!s&&this.canSelectProductInSection(s,e)}queryProductCheckbox(t,e){const s=`input.s-multiple-bundle-product-checkbox[name="bundle[${t}][${e}][id]"]`,l=this.host.closest("form"),n=l?.querySelector(s);if(n)return n;for(const t of this.host.querySelectorAll("salla-multiple-bundle-product-slider")){const e=(t.shadowRoot??t).querySelector(s);if(e)return e}return null}dispatchBubblingChange(t){requestAnimationFrame((()=>{t.dispatchEvent(new window.Event("change",{bubbles:!0}))}))}clearSectionProductSlot(t,e,s){const l=this.queryProductCheckbox(t,s);l&&(l.checked=!1);const n=this.host.closest("form");if(n){const e=`bundle[${t}][${s}]`;Array.from(n.querySelectorAll("input")).forEach((t=>{t.name?.startsWith(e)&&("checkbox"===t.type&&t.name?.endsWith("][id]")?t.checked=!1:t.remove())}))}this.clearProductModalOptions(e,t)}syncSectionSelection(t,e){const s=this.sections.find((e=>e.id==t));s?.products?.forEach(((s,l)=>{s.id!=e&&this.clearSectionProductSlot(t,s.id,l)})),this.selectedProducts[t]=new Set([e]);const l=s?.products?.findIndex((t=>t.id==e))??-1,n=l>=0?this.queryProductCheckbox(t,l):null;n&&(n.checked=!0,this.dispatchBubblingChange(n))}autoSelectSingleProductSections(){if(!this.sections?.length)return;const t={...this.selectedProducts};let e=!1;const s=[];for(const l of this.sections){if(!this.isProductSelectionLocked(l))continue;const n=l.products?.[0];if(!n||!n.unlimited_quantity&&(n.quantity??0)<=0)continue;const i=l.id,o=new Set(t[i]||[]);o.has(n.id)||(o.add(n.id),t[i]=o,e=!0,s.push({product:n}))}e&&(this.selectedProducts=t,s.forEach((({product:t})=>{salla.event.dispatch("on-bundle-product-selected",{id:t.id,name:t.name,options:t.options})})))}clearProductFormData(t,e){if(null!=e){const s=this.sections.find((t=>t.id==e)),l=s?.products?.findIndex((e=>e.id==t))??-1;if(l>=0)return void this.clearSectionProductSlot(e,t,l)}const s=this.host.closest("form");s&&s.querySelectorAll(`[data-product-id="${t}"]`).forEach((t=>t.remove()))}clearProductModalOptions(t,e){let s=null,l=null;if(null!=e&&(s=this.sections.findIndex((t=>t.id==e)),s>-1)){const e=this.sections[s];if(e){const s=e.products?.findIndex((e=>e.id==t));l="number"==typeof s&&s>-1?s:null}}salla.event.dispatch("multiple-bundle-product-modal::clear-options",{productId:t,sectionId:e,sectionIndex:s,productIndex:l})}getProgressStatus(t){const e=this.getSelectedCount(t.id),s=this.getEffectiveMax(t);return s>0?`${e}/${s}`:"0"}ensureProductCountLang(){o.productCountLangReady||(salla.lang.add("pages.products.bundle_product_count",{ar:"{1} منتج|{2} منتجان|[3,10] :count منتجات|[11,99] :count منتجًا|[0,*] :count منتج",en:"{1} :count product|[0,*] :count products"}),o.productCountLangReady=!0)}getSectionSelectionNote(t){const e=this.getObligatoryMin(t),s=Number(t.max_obligatory_products)||0;if(e<=0&&s<=0)return null;this.ensureProductCountLang();const l=t=>salla.lang.choice("pages.products.bundle_product_count",t),n=t=>salla.helpers.number(String(t)),i="ar"===(salla.lang.getLocale?.()||"ar");return e>0&&s>0?e===s?i?`اختر ${l(e)}`:`Select ${l(e)}`:i?`اختر من ${n(e)} إلى ${l(s)}`:`Select from ${n(e)} to ${l(s)}`:e>0?i?`اختر على الأقل ${l(e)}`:`Select at least ${l(e)}`:i?`اختر حتى ${l(s)}`:`Select up to ${l(s)}`}handleSectionsChange(){this.autoSelectSingleProductSections()}componentWillLoad(){this.ensureProductCountLang(),this.autoSelectSingleProductSections()}renderAccordionHeader(t){const s=this.getSectionSelectionNote(t);return e(n,null,e("h2",{slot:"title"},t?.name),s?e("span",{slot:"note"},s):null,e("span",{slot:"progress"},this.getProgressStatus(t)))}componentDidLoad(){const t=this.host.querySelector("salla-multiple-bundle-product-options-modal");t&&(this.productSelectedHandler=t=>{const{productId:e,sectionId:s,product:l,fromModal:n}=t.detail;n?this.ensureProductSelected(s,l||{id:e}):this.onSelectProduct(s,l||{id:e})},t.addEventListener("productSelected",this.productSelectedHandler))}disconnectedCallback(){if(this.productSelectedHandler){const t=this.host.querySelector("salla-multiple-bundle-product-options-modal");t&&t.removeEventListener("productSelected",this.productSelectedHandler),this.productSelectedHandler=null}}render(){return e(s,{key:"91b215bcdaa53e6888a07a6d3e4c3ac7c745f91e",class:"s-multiple-bundle-product-wrapper"},e("div",{key:"152614a163c9c788e2b5bc32f9a037cba9779046",class:"s-multiple-bundle-product-wrapper-sections"},this.sections.map(((t,s)=>e("salla-accordion",{key:t.id,collapsed:0!==s},e("salla-accordion-head",null,this.renderAccordionHeader(t)),e("salla-accordion-body",null,e("salla-multiple-bundle-product-slider",{section:t,sectionIndex:s,selectedProducts:this.selectedProducts,selectionLimit:this.getEffectiveMax(t),isSelectionLocked:this.isProductSelectionLocked(t),onProductSelected:this.handleBundleSliderProductSelected,onProductOptionsSelected:this.handleBundleSliderProductOptionsSelected})))))),e("salla-multiple-bundle-product-options-modal",{key:"2642221bd44ce9659dc90af568292587f071267c"}))}get host(){return l(this)}static get watchers(){return{sections:["handleSectionsChange"]}}};o.productCountLangReady=!1,o.style="";export{i as salla_multiple_bundle_product_cart,o as salla_multiple_bundle_product_details}
|
|
4
|
+
import{r as t,h as e,H as s,a as l,F as n}from"./p-DvJClBwJ.js";const i=class{constructor(e){t(this,e),this.sections=[],this.itemNumber=""}deleteItem(t,e){const s=this.host.closest("form");if(s){const l=s.getAttribute("id");if(l&&"string"==typeof l){const s=l.match(/item-(\d+)/)?.[1];this.itemNumber=s||"";const n=this.host.querySelector(`#accordion-${e.id}`);salla.cart.deleteItem(`${this.itemNumber}?product_id=${e.id}§ion_id=${t}`).then((()=>n?.remove()))}}}renderRemoveButton(t,s,l=!1){return e("salla-button",{type:"button",shape:l?"btn":"icon",fill:l?"outline":"solid",size:"small",color:"danger","aria-label":"Remove from the cart",onClick:()=>this.deleteItem(t,s)},l?salla.lang.get("common.elements.delete"):e("i",{class:"sicon-cancel"}))}renderAccordionHeader(t,s){const l=s?.options&&s?.options?.length>0;return e("div",{slot:"html",class:"s-multiple-bundle-product-cart-header-wrapper"},e("div",{class:"s-multiple-bundle-product-cart-header "+(l?"":"s-multiple-bundle-product-cart-header-no-options")},e("div",{class:"s-multiple-bundle-product-cart-header-content"},e("a",{href:s?.url,class:"s-multiple-bundle-product-cart-header-image-wrapper"},e("img",{src:s?.image?.url,alt:s?.image?.alt||s?.name,class:"s-multiple-bundle-product-cart-header-image"})),e("div",{class:"s-multiple-bundle-product-cart-header-content-details"},e("h2",{class:"s-multiple-bundle-product-cart-header-content-details-title"},e("a",{href:s?.url,class:"s-multiple-bundle-product-cart-header-content-details-title-link"},s?.name)),e("div",{class:"s-multiple-bundle-product-cart-header-content-details-price"},e("span",{class:"s-multiple-bundle-product-cart-header-content-details-price-regular"},e("span",{innerHTML:s?.price?salla.money(s?.price):""})),s?.sale_price>0&&e("span",{class:"s-multiple-bundle-product-cart-header-content-details-price-sale"},e("span",{innerHTML:salla.money(s?.sale_price)}))),s?.quantity_in_group>0&&0!==s?.quantity&&e("p",{class:"s-multiple-bundle-product-cart-header-content-details-quantity"},e("span",null,salla.lang.get("pages.products.number_of_pieces")),e("span",null,s?.quantity_in_group)))),!l&&e("div",{class:"s-multiple-bundle-product-cart-header-remove-button"},this.renderRemoveButton(t,s,!1))))}render(){return e(s,{key:"db441f645dc207f5864d3f4b89e67bb09ae2e622",class:"s-multiple-bundle-product-wrapper"},e("div",{key:"68bdd0512162e73bce90d1077d0d6d7f9f8da29b",class:"s-multiple-bundle-product-wrapper-sections"},this.sections.map(((t,s)=>t.products.map((l=>{const n={sectionId:t.id,sectionIndex:s,productId:l.id};return e("salla-accordion",{key:l.id,collapsed:!1,bordered:!0,collapsible:!!(l.options&&l.options.length>0),size:"sm",id:`accordion-${l.id}`},e("salla-accordion-head",null,this.renderAccordionHeader(String(t.id),l)),l.options&&l.options.length>0&&e("salla-accordion-body",null,e("salla-product-options",{options:JSON.stringify(l.options),key:`${l.id}-persistent`,"product-id":l.id,"bundle-context":JSON.stringify(n)}),e("div",{class:"s-multiple-bundle-product-cart-body-remove-button"},this.renderRemoveButton(String(t.id),l,!0))))}))))))}get host(){return l(this)}};i.style="";const o=class{constructor(e){t(this,e),this.sections=[],this.selectedProducts={},this.productSelectedHandler=null,this.onSelectProduct=(t,e)=>{const s=e.id,l=this.selectedProducts[t]?.has(s)??!1,n=this.sections.find((e=>e.id==t));if(!(l&&n&&this.isProductSelectionLocked(n))){if(!l){if(!n)return;if(1!==this.getEffectiveMax(n)&&this.isAtSelectionLimit(n))return}this.selectedProducts={...this.selectedProducts,[t]:new Set(this.selectedProducts[t]||[])},l?(this.selectedProducts[t].delete(s),this.clearProductFormData(s,t),this.clearProductModalOptions(s,t)):1===this.getEffectiveMax(n)?this.syncSectionSelection(t,s):this.selectedProducts[t].add(s),this.selectedProducts={...this.selectedProducts},salla.event.dispatch("on-bundle-product-selected",{id:e.id,name:e.name,options:e.options,wasSelected:l,isSelected:!l})}},this.ensureProductSelected=(t,e)=>{this.selectedProducts={...this.selectedProducts,[t]:new Set(this.selectedProducts[t]||[])};const s=e.id;if(this.selectedProducts[t].has(s))return;const l=this.sections.find((e=>e.id==t));if(!l)return;const n=this.getEffectiveMax(l);if(1===n)this.syncSectionSelection(t,s);else{if(n>1&&this.isAtSelectionLimit(l))return;this.selectedProducts[t].add(s)}this.selectedProducts={...this.selectedProducts},salla.event.dispatch("on-bundle-product-selected",{id:e.id,name:e.name,options:e.options})},this.onSelectProductOptions=(t,e)=>{const s=this.sections.find((t=>t.id==e));if(!s||!this.canSelectProductInSection(s,t.id))return;const l=this.sections.findIndex((t=>t.id==e)),n=s.products?.findIndex((e=>e.id==t.id))??0,i=this.selectedProducts[e]?.has(t.id)??!1;salla.event.dispatch("multiple-bundle-product-modal::open",{product:t,sectionId:e,sectionIndex:l,productIndex:n,isProductAlreadySelected:i})},this.handleBundleSliderProductSelected=t=>{const{product:e,sectionId:s}=t.detail;this.onSelectProduct(s,e)},this.handleBundleSliderProductOptionsSelected=t=>{const{product:e,sectionId:s}=t.detail;this.onSelectProductOptions(e,s)}}isSingleProductSection(t){return 1===(t.products?.length??0)}getObligatoryMin(t){const e=t.obligatory_products;if(null==e)return 0;const s=Number(e);return Number.isNaN(s)?0:s}isProductSelectionLocked(t){return this.isSingleProductSection(t)&&1===this.getObligatoryMin(t)}getEffectiveMax(t){const e=t.products?.length??0,s=t.max_obligatory_products;return null!=s&&s>0?Math.min(s,e):e}getSelectedCount(t){return this.selectedProducts[t]?.size??0}isAtSelectionLimit(t){return this.getSelectedCount(t.id)>=this.getEffectiveMax(t)}canSelectProductInSection(t,e){return!!this.selectedProducts[t.id]?.has(e)||1===this.getEffectiveMax(t)||!this.isAtSelectionLimit(t)}async canSelectBundleProduct(t,e){const s=this.sections.find((e=>e.id==t));return!!s&&this.canSelectProductInSection(s,e)}queryProductCheckbox(t,e){const s=`input.s-multiple-bundle-product-checkbox[name="bundle[${t}][${e}][id]"]`,l=this.host.closest("form"),n=l?.querySelector(s);if(n)return n;for(const t of this.host.querySelectorAll("salla-multiple-bundle-product-slider")){const e=(t.shadowRoot??t).querySelector(s);if(e)return e}return null}dispatchBubblingChange(t){requestAnimationFrame((()=>{t.dispatchEvent(new window.Event("change",{bubbles:!0}))}))}clearSectionProductSlot(t,e,s){const l=this.queryProductCheckbox(t,s);l&&(l.checked=!1);const n=this.host.closest("form");if(n){const e=`bundle[${t}][${s}]`;Array.from(n.querySelectorAll("input")).forEach((t=>{t.name?.startsWith(e)&&("checkbox"===t.type&&t.name?.endsWith("][id]")?t.checked=!1:t.remove())}))}this.clearProductModalOptions(e,t)}syncSectionSelection(t,e){const s=this.sections.find((e=>e.id==t));s?.products?.forEach(((s,l)=>{s.id!=e&&this.clearSectionProductSlot(t,s.id,l)})),this.selectedProducts[t]=new Set([e]);const l=s?.products?.findIndex((t=>t.id==e))??-1,n=l>=0?this.queryProductCheckbox(t,l):null;n&&(n.checked=!0,this.dispatchBubblingChange(n))}autoSelectSingleProductSections(){if(!this.sections?.length)return;const t={...this.selectedProducts};let e=!1;const s=[];for(const l of this.sections){if(!this.isProductSelectionLocked(l))continue;const n=l.products?.[0];if(!n||!n.unlimited_quantity&&(n.quantity??0)<=0)continue;const i=l.id,o=new Set(t[i]||[]);o.has(n.id)||(o.add(n.id),t[i]=o,e=!0,s.push({product:n}))}e&&(this.selectedProducts=t,s.forEach((({product:t})=>{salla.event.dispatch("on-bundle-product-selected",{id:t.id,name:t.name,options:t.options})})))}clearProductFormData(t,e){if(null!=e){const s=this.sections.find((t=>t.id==e)),l=s?.products?.findIndex((e=>e.id==t))??-1;if(l>=0)return void this.clearSectionProductSlot(e,t,l)}const s=this.host.closest("form");s&&s.querySelectorAll(`[data-product-id="${t}"]`).forEach((t=>t.remove()))}clearProductModalOptions(t,e){let s=null,l=null;if(null!=e&&(s=this.sections.findIndex((t=>t.id==e)),s>-1)){const e=this.sections[s];if(e){const s=e.products?.findIndex((e=>e.id==t));l="number"==typeof s&&s>-1?s:null}}salla.event.dispatch("multiple-bundle-product-modal::clear-options",{productId:t,sectionId:e,sectionIndex:s,productIndex:l})}getProgressStatus(t){const e=this.getSelectedCount(t.id),s=this.getEffectiveMax(t);return s>0?`${e}/${s}`:"0"}ensureProductCountLang(){o.productCountLangReady||(salla.lang.add("pages.products.bundle_product_count",{ar:"{1} منتج|{2} منتجان|[3,10] :count منتجات|[11,99] :count منتجًا|[0,*] :count منتج",en:"{1} :count product|[0,*] :count products"}),o.productCountLangReady=!0)}getSectionSelectionNote(t){const e=this.getObligatoryMin(t),s=Number(t.max_obligatory_products)||0;if(e<=0&&s<=0)return null;this.ensureProductCountLang();const l=t=>salla.lang.choice("pages.products.bundle_product_count",t),n=t=>salla.helpers.number(String(t)),i="ar"===(salla.lang.getLocale?.()||"ar");return e>0&&s>0?e===s?i?`اختر ${l(e)}`:`Select ${l(e)}`:i?`اختر من ${n(e)} إلى ${l(s)}`:`Select from ${n(e)} to ${l(s)}`:e>0?i?`اختر على الأقل ${l(e)}`:`Select at least ${l(e)}`:i?`اختر حتى ${l(s)}`:`Select up to ${l(s)}`}handleSectionsChange(){this.autoSelectSingleProductSections()}componentWillLoad(){this.ensureProductCountLang(),this.autoSelectSingleProductSections()}renderAccordionHeader(t){const s=this.getSectionSelectionNote(t);return e(n,null,e("h2",{slot:"title"},t?.name),s?e("span",{slot:"note"},s):null,e("span",{slot:"progress"},this.getProgressStatus(t)))}componentDidLoad(){const t=this.host.querySelector("salla-multiple-bundle-product-options-modal");t&&(this.productSelectedHandler=t=>{const{productId:e,sectionId:s,product:l,fromModal:n}=t.detail;n?this.ensureProductSelected(s,l||{id:e}):this.onSelectProduct(s,l||{id:e})},t.addEventListener("productSelected",this.productSelectedHandler))}disconnectedCallback(){if(this.productSelectedHandler){const t=this.host.querySelector("salla-multiple-bundle-product-options-modal");t&&t.removeEventListener("productSelected",this.productSelectedHandler),this.productSelectedHandler=null}}render(){return e(s,{key:"91b215bcdaa53e6888a07a6d3e4c3ac7c745f91e",class:"s-multiple-bundle-product-wrapper"},e("div",{key:"152614a163c9c788e2b5bc32f9a037cba9779046",class:"s-multiple-bundle-product-wrapper-sections"},this.sections.map(((t,s)=>e("salla-accordion",{key:t.id,collapsed:0!==s},e("salla-accordion-head",null,this.renderAccordionHeader(t)),e("salla-accordion-body",null,e("salla-multiple-bundle-product-slider",{section:t,sectionIndex:s,selectedProducts:this.selectedProducts,selectionLimit:this.getEffectiveMax(t),isSelectionLocked:this.isProductSelectionLocked(t),onProductSelected:this.handleBundleSliderProductSelected,onProductOptionsSelected:this.handleBundleSliderProductOptionsSelected})))))),e("salla-multiple-bundle-product-options-modal",{key:"2642221bd44ce9659dc90af568292587f071267c"}))}get host(){return l(this)}static get watchers(){return{sections:["handleSectionsChange"]}}};o.productCountLangReady=!1,o.style="";export{i as salla_multiple_bundle_product_cart,o as salla_multiple_bundle_product_details}
|